通过行中的值选择pandas数据框架中的列[英] Select columns in pandas dataframe by value in rows

本文是小编为大家收集整理的关于通过行中的值选择pandas数据框架中的列的处理方法,想解了通过行中的值选择pandas数据框架中的列的问题怎么解决?通过行中的值选择pandas数据框架中的列问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我的 pandas.DataFrame 列太多.我想选择行中值等于 0 和 1 的所有列.所有列的类型都是 int64 ,我无法通过 object 或其他类型选择它们.我该怎么做?

推荐答案

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')

本文地址:https://www.itbaoku.cn/post/1728109.html