按行数值选择pandas dataframe中的列

时间:2015-09-02 09:58:39

标签: python pandas

我有pandas.DataFrame列太多了。我想选择行数等于01的所有列。所有列的类型均为int64,我无法按object或其他类型选择它们。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

IIUC然后您可以使用isin并过滤列:

names fruit
1   tom apple
6   tom apple

内部条件的输出:

In [169]:
df = pd.DataFrame({'a':[0,1,1,0], 'b':list('abcd'), 'c':[1,2,3,4]})
df

Out[169]:
   a  b  c
0  0  a  1
1  1  b  2
2  1  c  3
3  0  d  4

In [174]:
df[df.columns[df.isin([0,1]).all()]]

Out[174]:
   a
0  0
1  1
2  1
3  0

我们可以使用布尔掩码来过滤列:

In [175]:
df.isin([0,1]).all()

Out[175]:
a     True
b    False
c    False
dtype: bool