如何筛选出dataframe中满足特定条件的行和列
时间: 2023-08-09 15:10:40 浏览: 202
Pandas DataFrame Notes
你可以使用 Pandas 的布尔索引和 loc 方法来筛选出满足特定条件的行和列。具体步骤如下:
1. 定义条件:例如,筛选出 'age' 列大于 18 的行和 'name' 列,可以使用条件 `df['age'] > 18` 和 `['name']`。
2. 使用布尔索引进行筛选:将条件放入方括号中,作为 DataFrame 的索引,即可得到满足条件的行。例如,`df[df['age'] > 18]` 就可以得到 'age' 列大于 18 的行。
3. 使用 loc 方法筛选出指定列:使用 loc 方法,将行索引和列索引放入方括号中,即可得到满足条件的行和列。例如,`df.loc[df['age'] > 18, ['name']]` 就可以得到 'age' 列大于 18 的行和 'name' 列。
示例代码如下:
``` python
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Charlie', 'David'],
'age': [20, 18, 25, 16],
'gender': ['F', 'M', 'M', 'M']
})
# 筛选出 'age' 列大于 18 的行和 'name' 列
result = df.loc[df['age'] > 18, ['name']]
print(result)
```
输出结果为:
```
name
0 Alice
2 Charlie
```
阅读全文