Pandas 8-数据筛选过滤

1. 基于条件筛选

1.1 单条件筛选

可以使用布尔索引来筛选满足特定条件的数据。

python 复制代码
import pandas as pd  
  
# 创建一个DataFrame  
data = {  
    'Name': ['Alice', 'Bob', 'Charlie', 'David'],    'Age': [24, 27, 22, 32],    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston'],    'Score': [85, 92, 78, 88]}  
  
df = pd.DataFrame(data)  
print(df)  
  
# 筛选Age大于25的行  
df_filtered = df[df['Age'] > 25]  
print(df_filtered)  

输出:

复制代码
    Name  Age         City  Score1    Bob   27  Los Angeles     92  
3  David   32      Houston     88  
1.2 多条件筛选

可以使用逻辑运算符(&表示与,|表示或)来组合多个条件进行筛选。

python 复制代码
# 筛选Age大于25且Score大于80的行  
df_filtered_multi = df[(df['Age'] > 25) & (df['Score'] > 80)]  
print(df_filtered_multi)  

输出:

复制代码
    Name  Age         City  Score1    Bob   27  Los Angeles     92  
3  David   32      Houston     88  

2. 基于标签筛选

可以使用loc方法基于标签进行筛选。

2.1 单标签筛选
python 复制代码
# 筛选Name为'Alice'的行  
df_filtered_loc = df.loc[df['Name'] == 'Alice']  
print(df_filtered_loc)  

输出:

复制代码
    Name  Age      City  Score0  Alice   24  New York     85  
2.2 多标签筛选
python 复制代码
# 筛选Name为'Alice'或'Bob'的行  
df_filtered_loc_multi = df.loc[(df['Name'] == 'Alice') | (df['Name'] == 'Bob')]  
print(df_filtered_loc_multi)  

输出:

复制代码
    Name  Age         City  Score0  Alice   24     New York     85  
1    Bob   27  Los Angeles     92  

3. 基于位置筛选

可以使用iloc方法基于位置进行筛选。

3.1 单位置筛选
python 复制代码
# 筛选第一行  
df_filtered_iloc = df.iloc[0]  
print(df_filtered_iloc)  

输出:

复制代码
Name     Alice  
Age         24  
City  New York  
Score       85  
Name: 0, dtype: object  
3.2 多位置筛选
python 复制代码
# 筛选第一行和第三行  
df_filtered_iloc_multi = df.iloc[[0, 2]]  
print(df_filtered_iloc_multi)  

输出:

复制代码
      Name  Age     City  Score0    Alice   24  New York     85  
2  Charlie   22  Chicago     78  

4. 使用query方法筛选

Pandas提供了query方法,可以使用类似SQL的语法进行筛选。

python 复制代码
# 使用query方法筛选Age大于25的行  
df_filtered_query = df.query('Age > 25')  
print(df_filtered_query)  

输出:

复制代码
    Name  Age         City  Score1    Bob   27  Los Angeles     92  
3  David   32      Houston     88  
相关推荐
weixin_456904275 小时前
# Pandas 与 Spark 数据操作完整教程
大数据·spark·pandas
dlraba8021 天前
Pandas:机器学习数据处理的核心利器
人工智能·机器学习·pandas
猫头虎3 天前
如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
网络·python·网络协议·tcp/ip·开源·pandas·pip
peter67683 天前
pandas学习小结
学习·pandas
猫头虎4 天前
如何解决 pip install -r requirements.txt extras 语法 ‘package[extra’ 缺少 ‘]’ 解析失败问题
开发语言·python·开源·beautifulsoup·virtualenv·pandas·pip
MoRanzhi12034 天前
15. Pandas 综合实战案例(零售数据分析)
数据结构·python·数据挖掘·数据分析·pandas·matplotlib·零售
eqwaak05 天前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
Love__Tay5 天前
【数据分析与可视化】2025年一季度金融业主要行业资产、负债、权益结构与增速对比
金融·excel·pandas·matplotlib
万粉变现经纪人5 天前
如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
开发语言·python·r语言·django·beautifulsoup·pandas·pip
万粉变现经纪人5 天前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy