根据数据框中的WHERE选择一些列

时间:2016-06-27 04:57:36

标签: dataframe blaze

所以,我正在与Blaze合作并希望在数据帧上执行此查询:

SELECT col1,col2 FROM table WHERE col1 > 0

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

提前致谢!

修改:我在这里创建dd = Data('postgresql://uri')

2 个答案:

答案 0 :(得分:1)

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

 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

答案 1 :(得分:1)

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