选择pandas DataFrame中具有特定值的列

问题描述 投票:2回答:1

我的DataFrame中有一些列,其值分别为0和1

    name    a   b   c   d   e
0   one     1   0   1   0   0
1   two     0   0   1   0   0
2   three   0   0   1   0   1

如何选择至少一个值为1的列?但是也必须选择其他列(它们是字符串,或者不仅包含0和1的值)。

我尝试过此表达式

df.iloc[:, [(clm == 'name') | (1 in df[clm].unique()) for clm in df.columns]]

Out:
    name  a  c  e
0    one  1  1  0
1    two  0  1  0
2  three  0  1  1

但是似乎不好,因为我明确选择了列'名称'

python pandas dataframe select
1个回答
2
投票

如果可能,请删除仅具有0值的所有列,将值与DataFrame.ne进行比较,以得出不相等的值,并在DataFrame.ne中每列返回至少一个True

DataFrame.loc

详细信息

DataFrame.loc
© www.soinside.com 2019 - 2024. All rights reserved.