Pandas df.query用于带空格的列名?

时间:2018-05-29 15:22:35

标签: python pandas

我正在尝试使用pd.query基于多个列进行过滤,但是我的列标题中包含空格。有没有办法不删除空格来使用query()?我尝试单引号如下(记住真正的数据/查询比这复杂得多),但没有运气:

x1 = "ab"
x2 = ["ab", "ac"]
x3 = ["ab", "ad"]

df = pd.DataFrame({"t 1": ["a", "b", "ab"],
                   "t 2":["b", "x", "ac"],
                   "t 3":["a", "w", "ad"]})

df.query("'t 1' in @x \
         & 't 2' in @x2 \
         & 't 3' in @x3")

注意:我在pandas 0.23

编辑:

虽然我知道这可以使用更传统的df[df['t 1'].isin(x1) ...语法来完成,但实际创建的查询是动态的,通常涉及10个左右的过滤条件,因此使用该方法并不理想。有没有办法使用查询?或另一种解决方案?

0 个答案:

没有答案