Select 一些列基于数据框中的 WHERE

Select some columns based on WHERE in a dataframe

因此,我正在使用 Blaze 并希望在数据帧上执行此查询:

SELECT col1,col2 FROM table WHERE col1 > 0

对于 SELECT *,这有效:d[d.col1 > 0]。但我只想要 col1col2 而不是所有列。我该怎么办?

提前致谢!

编辑:我在这里创建 d 为:d = Data('postgresql://uri')

我认为您可以使用第一个子集,然后使用布尔索引:

 print (d)
   col1  col2  col3
0    -1     4     7
1     2     5     8
2     3     6     9

d = d[['col1','col2']]
print (d)
   col1  col2
0    -1     4
1     2     5
2     3     6

print (d[d.col1 > 0])
   col1  col2
1     2     5
2     3     6

这等同于:

print (d[['col1','col2']][d.col1 > 0])
   col1  col2
1     2     5
2     3     6

这也有效:d[d.col1 > 0][['col1','col2']]