Pandas DataFrame筛选列的条件
在本文中,我们将介绍如何使用Pandas DataFrame根据条件筛选列。我们将探讨以下三个问题:
- 如何查找特定列?
-
如何根据条件选择列?
-
如何使用多个条件同时选择多个列?
阅读更多:Pandas 教程
如何查找特定列?
使用Pandas DataFrame可以通过列名称或列索引访问列。例如,在下面的DataFrame中:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 32, 18],
'gender': ['F', 'M', 'M'],
'salary': [5000, 6000, 4000]}
df = pd.DataFrame(data)
print(df[['name', 'salary']])
可以如下所示地筛选特定列:
name salary
0 Alice 5000
1 Bob 6000
2 Charlie 4000
如何根据条件选择列?
Pandas DataFrame支持使用特定的条件来筛选列。例如,在下面的DataFrame中:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 32, 18],
'gender': ['F', 'M', 'M'],
'salary': [5000, 6000, 4000]}
df = pd.DataFrame(data)
print(df[df['age'] > 20][['name', 'gender']])
可以如下所示地使用条件筛选列:
name gender
0 Alice F
1 Bob M
如何使用多个条件同时选择多个列?
如果需要使用多个条件来筛选多个列,则可以使用iloc和布尔列表。例如,在下面的DataFrame中:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 32, 18],
'gender': ['F', 'M', 'M'],
'salary': [5000, 6000, 4000]}
df = pd.DataFrame(data)
condition1 = df['age'] > 20
condition2 = df['salary'] > 4500
cols = [0, 2]
print(df.iloc[:, cols][condition1 & condition2])
可以如下所示地使用多个条件和布尔列表来选择多个列:
name gender
1 Bob M
总结
Pandas DataFrame提供了灵活的选取列的方式。可以使用列名称、列索引和布尔条件等多种方法来选择列。因此,掌握这些基本方法对于数据分析和处理十分重要。
极客教程