微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-按行中的值选择pandas数据框中的列

我有一个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 举报,一经查实,本站将立刻删除。

相关推荐