pandas dataframe dataframe.query() 函数-ag捕鱼王app官网

pandas dataframe dataframe.query() 函数

作者:迹忆客 最近更新:2024/04/22 浏览次数:

pandas.dataframe.query() 方法使用给定的查询表达式过滤调用者 dataframe 的行。


pandas.dataframe.query() 语法

dataframe.query(expr, inplace=false, **kwargs)

参数

expr 基于过滤行的查询表达式
inplace 布尔型。如果为 true,就地修改调用者 dataframe 数据
**kwargs 方法关键字参数

返回值

如果 inplacetrue,则返回过滤后的 dataframe;否则为 none


示例代码:dataframe.query() 方法带单一条件

import pandas as pd
df = pd.dataframe({'x': [1, 2, 3,],
                   'y': [4, 1, 8]})
print("original dataframe:")
print(df)
filtered_df=df.query('x>1')
print("filtered dataframe:")
print(filtered_df)

输出:

original dataframe:
   x  y
0  1  4
1  2  1
2  3  8
filtered dataframe:
   x  y
1  2  1
2  3  8

它返回 dataframe,其中只有满足给定查询表达式的行,即只有列 x 的值大于 1 的行。


示例代码:当列名有空格时的 dataframe.query() 方法

在将此方法应用于 dataframe 之前,我们必须确保要查询的列名中没有任何空格。

如果我们的列名中有空格,我们可以使用反勾引号(`)。

import pandas as pd
df = pd.dataframe(
    {
        "x": [
            1,
            2,
            3,
        ],
        "y": [4, 1, 8],
        "a b": [3, 5, 7],
    }
)
print("original dataframe:")
print(df)
filtered_df = df.query("`a b`>5")
print("filtered dataframe:")
print(filtered_df)

输出:

original dataframe:
   x  y  a b
0  1  4    3
1  2  1    5
2  3  8    7
filtered dataframe:
   x  y  a b
2  3  8    7

这里,列名 a b 有空格。要对该列进行查询表达式,我们将列名用反引号括起来,否则会出现错误。


示例代码:dataframe.query() 方法有多个条件

import pandas as pd
df = pd.dataframe({'x': [1, 2, 3,],
                   'y': [4, 1, 8]})
print("original dataframe:")
print(df)
filtered_df=df.query('x>1' and 'y==1')
print("filtered dataframe:")
print(filtered_df)

输出:

original dataframe:
   x  y
0  1  4
1  2  1
2  3  8
filtered dataframe:
   x  y
1  2  1

如果我们希望根据多个条件过滤 dataframe,我们使用 and 操作符将多个查询表达式组合成一个复合查询表达式。

它给出的 dataframe 中,列 x 的值大于 1,列 y 的值等于 1 的行。

我们可以在调用 query() 方法后,通过设置 inplace=true 来修改原来的 dataframe

import pandas as pd
df = pd.dataframe({'x': [1, 2, 3,],
                   'y': [4, 1, 8]})
filtered_df=df.query('x>1' and 'y==1',inplace=true)
print(df)

输出:

   x  y
1  2  1

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图