Pandas 是一个强大的 Python 数据分析库,提供了大量的数据结构和数据分析工具。在 Pandas 中,条件筛选是一种常见的操作,用于从 DataFrame 或 Series 中选择满足特定条件的行或列。
&
(与)、|
(或)、~
(非)等逻辑运算符组合条件。假设我们有一个包含学生信息的 DataFrame:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
'Age': [20, 22, 21, 23, 24],
'Score': [85, 90, 78, 88, 92]
}
df = pd.DataFrame(data)
筛选年龄大于 21 岁的学生:
filtered_df = df[df['Age'] > 21]
print(filtered_df)
筛选年龄大于 21 岁且分数大于 85 分的学生:
filtered_df = df[(df['Age'] > 21) & (df['Score'] > 85)]
print(filtered_df)
筛选年龄小于 23 岁或分数大于 90 分的学生:
filtered_df = df[(df['Age'] < 23) | (df['Score'] > 90)]
print(filtered_df)
原因:可能是条件表达式写错了,或者数据类型不匹配。
解决方法:
# 错误的条件表达式
filtered_df = df[df['Age'] > '21'] # 这里 '21' 是字符串,而 'Age' 列是整数
# 正确的条件表达式
filtered_df = df[df['Age'] > 21]
原因:数据量过大,或者条件表达式复杂。
解决方法:
# 设置索引
df.set_index('Name', inplace=True)
# 使用索引进行筛选
filtered_df = df.loc[df['Age'] > 21]
通过以上内容,你应该能够全面了解 Pandas 中的条件筛选操作及其相关应用。
领取专属 10元无门槛券
手把手带您无忧上云