我有pandas.DataFrame
列太多了。我想选择行数等于0
和1
的所有列。所有列的类型均为int64
,我无法按object
或其他类型选择它们。我怎么能这样做?
答案 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