pandas dataframe dataframe.query() 函数
pandas.dataframe.query() 方法使用给定的查询表达式过滤调用者 dataframe 的行。
pandas.dataframe.query()
语法
dataframe.query(expr, inplace=false, **kwargs)
参数
expr |
基于过滤行的查询表达式 |
inplace |
布尔型。如果为 true ,就地修改调用者 dataframe 数据 |
**kwargs |
方法关键字参数 |
返回值
如果 inplace
为 true
,则返回过滤后的 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 dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串