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

标签 python pandas

我有一个包含太多列的 pandas.DataFrame。我想选择行中值等于 01 的所有列。所有列的类型都是 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

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

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

Out[176]:
Index(['a'], dtype='object')

关于python - 按行中的值选择 Pandas 数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350114/

相关文章:

python - Pandas 和 groupby 计算两个不同列中的匹配项数

python - Panda 通过分组连接多个时间序列并扩展缺失数据

python - 带有 chunksize 参数的 pandas read_csv 会产生一个只能使用一次的迭代器?

python - conda 环境 : Print licenses of installed packages

python - 在支持 Multi-Tenancy 的 Django 中正确加载 Keras 模型

python - 使用用户的个人数据计算相似度?

python - 将朱利安日期解析为月份和月份日期

python - 在已排序的字典列表中查找最接近的项目

python - 什么是 __del__ 方法,我该如何调用它?

pandas - 如何使用 pandas_udf 在 pyspark 数据帧上运行 pytorch 模型的推理(创建带有预测的新列)?