如何使用.query方法使数据帧筛选器与变量一起工作



我想使用.query方法通过变量过滤数据帧中的列,但它不能用于变量,只能用于字符串。有人知道如何使用变量吗?非常感谢。

import pandas as pd    
var="A"
source = {'COL1': ['A','B','C'], 'COL2': ['D','E','F']}
dfsource=pd.DataFrame(source)
print(dfsource)
df2=dfsource.query('COL1=="A"') #Example, this works filtering for value A but not what I need.
df3=dfsource.query('COL1'==var)
print(df2)
print(df3)

使用@:

import pandas as pd
var = "A"
source = {"COL1": ["A", "B", "C"], "COL2": ["D", "E", "F"]}
dfsource = pd.DataFrame(source)
print(dfsource)
df2 = dfsource.query(
'COL1=="A"'
)  
df3 = dfsource.query("COL1 == @var") # <-- @
print(df2)
print(df3)

打印:

COL1 COL2
0    A    D
1    B    E
2    C    F
COL1 COL2
0    A    D
COL1 COL2
0    A    D

最新更新