如何使空查询选择所有项目

时间:2016-06-29 12:53:35

标签: python pandas indexing dataframe

我非常喜欢query方法。选择所有项目的null查询是什么?我尝试了df.query("True"),但它不起作用。

我发现的唯一工作是df.query("index == 0 | index != 0")

为什么“True”不起作用,它是一个谓词。

1 个答案:

答案 0 :(得分:1)

对我而言:

df.query("index")

样品:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6]},
                   index=[-1,4,5])

print (df)
    A  B
-1  1  4
 4  2  5
 5  3  6

a = df.query("index")
print (a)
    A  B
-1  1  4
 4  2  5
 5  3  6

如果索引值不是负值,请使用:

a = df.query("index > -1")
print (a)
   A  B
0  1  4
1  2  5
2  3  6

通过评论编辑:

我不是query专家,但如果仅使用True,则会搜索索引中的值:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6]}, 
                    index=[True,0,'d'])

print (df)
      A  B
True  1  4
0     2  5
d     3  6

a = df.query("True")
print (a)
A    1
B    4
Name: True, dtype: int64

b = df.query('0')
print (b)
A    2
B    5
Name: 0, dtype: int64

另一个疯狂指数:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6]}, 
                    index=[True,True,True])

print (df)
      A  B
True  1  4
True  2  5
True  3  6

a = df.query("True")
print (a)
      A  B
True  1  4
True  2  5
True  3  6