pandas如何做筛选
时间: 2023-10-30 12:10:24 浏览: 25
在Pandas中,可以使用`loc`和`iloc`方法进行筛选。
`loc`方法是通过标签进行筛选,语法为`DataFrame.loc[行标签, 列标签]`。例如,选取DataFrame中“A”列中值大于0的行:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, -1, -2, -3], 'B': [4, 5, 6, -4, -5, -6]})
filtered_df = df.loc[df['A'] > 0, :]
print(filtered_df)
```
输出结果:
```
A B
0 1 4
1 2 5
2 3 6
```
`iloc`方法是通过位置进行筛选,语法为`DataFrame.iloc[行位置, 列位置]`。例如,选取DataFrame中前三行、后两列:
```
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, -1, -2, -3], 'B': [4, 5, 6, -4, -5, -6]})
filtered_df = df.iloc[:3, -2:]
print(filtered_df)
```
输出结果:
```
A B
0 1 4
1 2 5
2 3 6
```
相关问题
pandas 数据筛选
Pandas是一个强大的数据处理库,提供了多种方法来进行数据筛选。以下是两种常见的数据筛选方法[^1]:
1. 使用布尔索引进行筛选:可以使用布尔表达式来筛选满足条件的数据。例如,筛选出年龄大于等于18岁的人员数据:
```python
import pandas as pd
# 创建一个DataFrame
data = {'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [20, 25, 18, 30]}
df = pd.DataFrame(data)
# 使用布尔索引筛选数据
filtered_data = df[df['年龄'] >= 18]
print(filtered_data)
```
2. 使用query()方法进行筛选:可以使用query()方法来筛选满足条件的数据。例如,筛选出年龄大于等于18岁的人员数据:
```python
import pandas as pd
# 创建一个DataFrame
data = {'姓名': ['张三', '李四', '王五', '赵六'],
'年龄': [20, 25, 18, 30]}
df = pd.DataFrame(data)
# 使用query()方法筛选数据
filtered_data = df.query('年龄 >= 18')
print(filtered_data)
```
pandas并列筛选
pandas是一个基于NumPy的Python数据分析工具包,它提供了一系列的数据处理、分析和处理工具,能够快速高效地处理各种类型的数据。并列筛选(Multiple Conditions)是pandas中常用的一种筛选方法,可以同时使用多个条件来筛选数据。
在pandas中,可以使用逻辑运算符“&”和“|”来实现并列筛选。其中,“&”表示与运算,两个条件都必须满足才能被筛选出来,“|”表示或运算,两个条件满足其一即可被筛选出来。
例如,假设有一个DataFrame数据集df,其中有两列A和B,我们想要筛选出A列中大于10且B列中小于5的数据,可以使用如下代码:
```
df[(df['A']>10) & (df['B']<5)]
```
这样就可以得到满足条件的数据集。同时,你也可以使用“|”来实现或运算的筛选,例如:
```
df[(df['A']>10) | (df['B']<5)]
```
这样就可以得到A列大于10或者B列小于5的数据集。