根据现有列分配是非条件

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

验证条件后,我需要分配一个True / False值。具体来说,我有数据框

col1      col2    col3   col4   col5    col6   col7    col8   col9
Number1   True   False   True   False   True   False   True   False
Number2   False  False   False  False   False  False   False  False
Number3   True   False   False  False   False  False   False  False
Number4   False  False   False  False   False  True    False  False

我需要根据True / False值创建一个新列。如果至少一个值为True,则在新列中分配True;否则,为0。否则,如果所有值均为False,则分配False。

从上面的示例中,我应该有:

col1      col2    col3   col4   col5    col6   col7    col8   col9     col10
Number1   True   False   True   False   True   False   True   False    True
Number2   False  False   False  False   False  False   False  False    False
Number3   True   False   False  False   False  False   False  False    True
Number4   False  False   False  False   False  True    False  False    True

我尝试过]

if (df['COL1'], df['COL2'], df['COL3'], df['COL4'], df['COL5'], df['COL6'], df['COL7'], df['COL8'], df['COL9']).any():
                df[index,'COL10'] = True
            else:
                df[index,'COL10'] = False

但这会分配所有True值。

您能帮助我获得正确的输出吗?非常感谢

验证条件后,我需要分配一个True / False值。具体来说,我有数据框col1 col2 col3 col4 col5 col6 col7 col8 col9 Number1 True False True ...

python pandas
1个回答
1
投票

只需any

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