python dataframe筛选数据
时间: 2023-08-11 21:55:10 浏览: 345
在 Python 中,pandas 库提供了 DataFrame 类型来存储和操作二维表格数据。要筛选 DataFrame 中的数据,可以使用类似于索引列表的方式来过滤行。例如,可以使用布尔索引,如下所示:
```python
import pandas as pd
# 创建一个示例 DataFrame
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'age': [25, 30, 35, 40, 45],
'city': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']}
df = pd.DataFrame(data)
# 筛选年龄大于等于 35 的行
df[df['age'] >= 35]
```
还可以使用其它方法,如 query()或 loc()等.
```python
# using query()
df.query('age >=35')
# using loc[]
df.loc[df['age'] >= 35]
```
可以根据需要添加更多条件,如下所示:
```python
# 筛选年龄大于在 pandas 中,可以使用布尔索引来筛选 DataFrame 中的数据。例如,假设有一个名为 df 的 DataFrame,其中一列名为 'col',要筛选出 col 值大于等于 0 的行,可以这样做:
```
df[df['col'] >= 0]
```
也可以结合多列进行筛选
```
df[(df['col_1'] > 0) & (df['col_2'] == 'some_value')]
```
还可以使用 .loc 或 .iloc 属性对行进行筛选
```
df.loc[df['col'] >= 0]
```
```
df.iloc[:,1:3]
```
上面一行代码,是取DataFrame 第二列和第三列,: 表示全部行
可以使用 query 方法进行筛选
```
df.query("col_1 > 0 and col_2 == 'some_value'")
```
布尔索引、.loc 和 .iloc 都是返回 DataFrame 的子集,而 query 方法返回的是新的 DataFrame。
阅读全文