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
相关文章
Pandas DataFrame DataFrame.to_excel() 函数
发布时间:2024/04/22 浏览次数:68 分类:Python
-
DataFrame.to_excel()函数将 DataFrame 数据转储到 excel 文件中,单张或多张。
Pandas DataFrame DataFrame.plot.bar() 函数
发布时间:2024/04/22 浏览次数:165 分类:Python
-
Pandas DataFrame.plot.bar()函数沿着指定的轴绘制一个条形图。
Pandas DataFrame DataFrame.min() 函数
发布时间:2024/04/22 浏览次数:76 分类:Python
-
DataFrame min()函数获取 DataFrame 对象在指定轴上的最小值。
Pandas DataFrame DataFrame.median() 函数
发布时间:2024/04/22 浏览次数:189 分类:Python
-
DataFrame median()函数计算 DataFrame 对象在指定轴上的值的中位数。
Pandas DataFrame DataFrame.mean() 函数
发布时间:2024/04/22 浏览次数:142 分类:Python
-
DataFrame mean()函数计算 DataFrame 对象在指定轴上的值的平均值。
Pandas DataFrame DataFrame.max() 函数
发布时间:2024/04/22 浏览次数:187 分类:Python
-
DataFrame max()函数获取 DataFrame 对象在指定轴上的最大值。