我需要在验证条件时分配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;否则,如果所有值都为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值。
你能帮我获得正确的输出吗?非常感谢。
df.loc[:, "col2":]
等同于df.loc[:, ["col2", "col3", "col4", "col5", "col6", "col7", "col8", "col9", "col10"]]
。实际上,你不应该使用这个缩写,因为 OP 在条件中没有包含col10
。 - jkr