Pandas 是一个用于数据处理和分析的 Python 库,提供了 DataFrame 和 Series 等数据结构,使得数据的操作变得更加简便。按列值过滤是 Pandas 中常见的操作之一,可以用来筛选出满足特定条件的数据。
在 Pandas 中,DataFrame 是一个二维表格型数据结构,类似于 Excel 表格或 SQL 表。每一列可以是不同的数据类型(整数、浮点数、字符串等),而每一行则是一条记录。
query
方法等)进行条件过滤。query
方法:使用字符串表达式进行过滤,更加直观和简洁。假设我们有一个 DataFrame df
,包含以下列:'Name', 'Age', 'City'。
import pandas as pd
# 创建示例 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'City': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
# 按列值过滤:筛选出年龄大于 30 的记录
filtered_df = df[df['Age'] > 30]
print(filtered_df)
输出:
Name Age City
2 Charlie 35 Chicago
3 David 40 Houston
query
方法示例同样的 DataFrame,使用 query
方法进行过滤:
# 使用 query 方法筛选出年龄大于 30 的记录
filtered_df = df.query('Age > 30')
print(filtered_df)
输出与布尔索引相同:
Name Age City
2 Charlie 35 Chicago
3 David 40 Houston
解决方法:使用 query
方法可以使代码更加简洁和易读。
解决方法:
int32
或 int64
)。解决方法:使用逻辑运算符(如 &
表示 AND,|
表示 OR)组合多个条件。
# 筛选出年龄大于 30 且居住在 Chicago 的记录
filtered_df = df[(df['Age'] > 30) & (df['City'] == 'Chicago')]
print(filtered_df)
输出:
Name Age City
2 Charlie 35 Chicago
通过这些方法和技巧,可以有效地使用 Pandas 进行列值过滤操作。
领取专属 10元无门槛券
手把手带您无忧上云