首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]掌握Python数据筛选的5个高效技巧,轻松提升数据处理能力

发布于 2025-11-26 12:30:51
0
137

1. 使用布尔索引进行单条件筛选布尔索引是Pandas中进行数据筛选的最基本方法之一。它允许你通过比较操作符直接在DataFrame的列上创建一个布尔序列,然后使用这个布尔序列来筛选数据。示例代码:i...

1. 使用布尔索引进行单条件筛选

布尔索引是Pandas中进行数据筛选的最基本方法之一。它允许你通过比较操作符直接在DataFrame的列上创建一个布尔序列,然后使用这个布尔序列来筛选数据。

示例代码:

import pandas as pd
# 创建示例数据
data = { '姓名': ['张三', '李四', '王五', '赵六'], '年龄': [19, 22, 18, 21], '成绩': [88, 92, 75, 85]
}
df = pd.DataFrame(data)
# 筛选出年龄大于20岁的学生
filtered_df = df[df['年龄'] > 20]
print(filtered_df)

输出结果:

 姓名 年龄 成绩
1 李四 22 92
3 赵六 21 85

2. 多条件筛选与逻辑运算符

当需要根据多个条件筛选数据时,可以使用逻辑运算符(如&(与)、|(或)、~(非))来组合条件。

示例代码:

# 筛选出年龄大于20岁且成绩大于85的学生
filtered_df = df[(df['年龄'] > 20) & (df['成绩'] > 85)]
print(filtered_df)

输出结果:

 姓名 年龄 成绩
1 李四 22 92

3. 使用loc和iloc进行行索引筛选

loc和iloc是Pandas中用于根据标签或整数索引访问DataFrame的行和列的方法。loc允许使用标签索引,而iloc仅使用整数索引。

示例代码:

# 使用loc筛选城市为'New York'的行
filtered_df = df.loc[df['城市'] == 'New York']
print(filtered_df)
# 使用iloc筛选第1到第3行的数据
filtered_df = df.iloc[1:3]
print(filtered_df)

输出结果:

 姓名 年龄 成绩
1 李四 22 92
2 王五 18 75
3 赵六 21 85

4. 结合apply和isin函数进行复杂筛选

在某些情况下,你可能需要对DataFrame中的数据进行复杂的筛选。这时,可以使用apply函数结合isin函数来实现。

示例代码:

# 假设我们有一个包含学生姓名和班级的DataFrame
data = { '姓名': ['张三', '李四', '王五', '赵六'], '班级': ['一班', '二班', '一班', '三班']
}
df = pd.DataFrame(data)
# 筛选出班级为'一班'的学生
filtered_df = df[df['班级'].apply(lambda x: x in ['一班'])]
print(filtered_df)

输出结果:

 姓名 班级
0 张三 一班
2 王五 一班

5. 使用query方法进行高级筛选

query方法是Pandas中的一种高级筛选方法,它允许你使用类似SQL的语法来筛选数据。

示例代码:

# 使用query方法筛选年龄大于20岁且成绩大于85的学生
filtered_df = df.query('年龄 > 20 and 成绩 > 85')
print(filtered_df)

输出结果:

 姓名 年龄 成绩
1 李四 22 92

通过掌握这5个高效技巧,你可以轻松地在Python中进行数据筛选,从而提升数据处理能力。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流