通过使用条件添加列来创建列

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

我想在现有数据框中添加一个新列,其中我将显示其他列中的值的总和,除了我不想包含我已指定为变量的列名之一。

例如,

ignore ='Column3'

Column1 Column2 Column3
1        4       2
2        10      2
3        15      1

我想创建一个新列并仅添加Column1列,但是你可以看到我有ignore = 'Column3'作为变量,有没有办法我可以在代码中添加列但是包含变量ignore以便在任何列中使用在计算中不会添加ignore变量?

python pandas variables add jupyter
1个回答
3
投票

IIUC,您可以使用:

ignore='Column3'
df['New']=df.loc[:,df.columns!=ignore].sum(axis=1)
print(df)

   Column1  Column2  Column3  New
0        1        4        2    5
1        2       10        2   12
2        3       15        1   18

或者,如果您想要忽略列的列表:

ignore=['Column3']
df['New']=df.loc[:,df.columns.difference(ignore)].sum(axis=1)
print(df)

   Column1  Column2  Column3  New
0        1        4        2    5
1        2       10        2   12
2        3       15        1   18
© www.soinside.com 2019 - 2024. All rights reserved.