pandas dataframe筛选数据(pandas query筛选列)47

作者 : 慕源网 本文共1245个字,预计阅读时间需要4分钟 发布时间: 2021-12-10 共231人阅读

pandas dataframe筛选数据

可以使用query方法按照某列的规则进行过滤的操作。

本文是Python Pandas教程系列的一部分,您可以点击Python Pandas使用教程查看所有。

语法和参数:

Dataframe.query(inplace=False, expr, **kwargs)

参数: exprstr

要评估的查询字符串。

您可以在环境中引用变量,

方法是在变量前加上’@’字符,

例如 。@a + b

您可以通过在反引号中将空格或运算符括起来来引用它们。

这样,您还可以转义以数字开头或Python关键字的名称。

基本上是无效的Python标识符。

有关更多详细信息,请参见注释。

例如,如果你的一列叫做a a ,

你想把它和b相加,你的查询应该是' a a ' + b

0.25.0版中的新功能:

引入了反引号引号。

1.0.0版中的新增功能:

扩展了反引号引号的功能,不仅限于空格。

inplacebool

查询是应该修改数据还是返回修改后的副本。

**kwargs

有关eval()接受的关键字参数的完整详细信息,

请参见文档DataFrame.query()。

返回值: DataFrame

由提供的查询表达式产生的DataFrame

pandas dataframe筛选数据(pandas query筛选列)47

如何过滤 Pandas 中的行?

现在我们看到了如何在 Pandas DataFrame 中过滤行的各种示例。

示例 #1:使用 Dataframe.isin() 过滤DataFrame 中的行

代码:

import pandas as pd
df = pd.DataFrame({'s': [1, 3, 7, 4], 'p': [4, 1, 8, 6]})
out = df['s'].isin(range(4,7))
filtered_df = df[out] print('Original DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

输出:

pandas dataframe筛选数据(pandas query筛选列)47

在上面的程序中,我们首先导入了pandas库,然后我们创建了DataFrame 。创建DataFrame 后,我们为行和列分配值,然后利用 isin() 函数生成DataFrame 的过滤输出。最后,DataFrame 的行被过滤,输出如上面的快照所示。

示例 #2:使用 Dataframe.query() 过滤 Pandas DataFrame 的行

代码:

import pandas as pd
df = pd.DataFrame({'s': [1, 3, 7, 4], 'p': [4, 1, 8, 6]})
filtered_df = df.query('p>7')
print('First DataFrame\n-------------------\n',df)
print('\nFiltered DataFrame\n-------------------\n',filtered_df)

输出:

pandas dataframe筛选数据(pandas query筛选列)47

推荐文章

这是 Pandas 过滤行的指南。这里我们还讨论了 Pandas 中的介绍、语法、参数和如何过滤行


慕源网 » pandas dataframe筛选数据(pandas query筛选列)47

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录