首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用变量过滤pandas数据帧中的行

在Pandas中,可以使用变量来过滤DataFrame中的行。过滤DataFrame行的常用方法有两种:使用布尔索引和使用query()方法。

使用布尔索引的方式可以根据条件对DataFrame进行筛选。首先,我们需要创建一个布尔条件,即一个包含True和False的布尔Series,其长度与DataFrame的行数相同。然后,将该布尔Series作为索引传递给DataFrame,即可得到符合条件的行。

以下是一个示例代码,用于过滤出DataFrame中'temperature'列大于等于30度的行:

代码语言:txt
复制
import pandas as pd

# 创建一个示例DataFrame
data = {'city': ['Beijing', 'Shanghai', 'Guangzhou'],
        'temperature': [32, 31, 28]}
df = pd.DataFrame(data)

# 使用布尔索引过滤行
condition = df['temperature'] >= 30
filtered_df = df[condition]

print(filtered_df)

输出结果为:

代码语言:txt
复制
       city  temperature
0   Beijing           32
1  Shanghai           31

另一种过滤DataFrame行的方法是使用query()方法。query()方法接受一个字符串参数,该字符串包含一个布尔表达式,用于筛选DataFrame的行。布尔表达式中可以使用变量来代表列名。

以下是使用query()方法进行过滤的示例代码:

代码语言:txt
复制
import pandas as pd

# 创建一个示例DataFrame
data = {'city': ['Beijing', 'Shanghai', 'Guangzhou'],
        'temperature': [32, 31, 28]}
df = pd.DataFrame(data)

# 使用query()方法过滤行
temperature_threshold = 30
filtered_df = df.query("temperature >= @temperature_threshold")

print(filtered_df)

输出结果与前面的示例相同。

以上是使用变量过滤Pandas数据帧中的行的方法。根据具体需求,可以选择使用布尔索引或query()方法进行行过滤。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券