我有一个pandas.DataFrame列太多.我想选择行中的值等于0和1的所有列.所有列的类型为int64,因此无法按对象或其他类型选择它们.我怎样才能做到这一点?
解决方法:
IIUC然后可以使用isin
并过滤列:
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
我们可以使用布尔掩码来过滤列:
In [176]:
df.columns[df.isin([0,1]).all()]
Out[176]:
Index(['a'], dtype='object')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。