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  
相关推荐
Python大数据分析@19 小时前
Pandas相比Excel的优势是哪些?
excel·pandas
Hello.Reader2 天前
Pandas API on Spark 快速入门像写 Pandas 一样使用 Spark
大数据·spark·pandas
白日与明月5 天前
Pandas 读取文本数据 (Text I/O) 速查表
爬虫·python·pandas
一晌小贪欢6 天前
Python办公自动化指南:Pandas与Openpyxl的全面比较与选择
开发语言·python·pandas·python基础·python入门·python小白
无心水6 天前
Python时间处理通关指南:datetime/arrow/pandas实战
开发语言·人工智能·python·pandas·datetime·arrow·金融科技
RE-19017 天前
Polars:告别 Pandas 性能瓶颈,用 Rust 驱动的 DataFrame 库处理亿级数据
开发语言·rust·pandas·polars·ai生成
B站_计算机毕业设计之家8 天前
计算机毕业设计:Python当当网图书数据全链路处理平台 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·django·flask·pandas·课程设计
万粉变现经纪人9 天前
如何解决 pip install shapely 报错 GEOS C 库未找到 问题
c语言·开发语言·python·pycharm·bug·pandas·pip
B站计算机毕业设计之家9 天前
计算机毕业设计源码:Python图书数据智能采集与可视化大屏 当当网 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
爬虫·python·机器学习·信息可视化·django·pandas·课程设计
小陈工9 天前
FastAPI性能优化实战:从每秒100请求到1000的踩坑记录
python·性能优化·django·flask·numpy·pandas·fastapi