我有以下数据帧:
[1]on
:
作为pd进口熊猫
数据帧({'a':[1,2,3],'b':[2,3,4],'c':['dd','ee','ff'],'d':[5,9,1]})
df
Output[1]:
a、b、c、d
0 1 2 dd 5
1 2 3 ee 9
2 3 4 ff 1
我想添加一列'e',它是'a'、'b'和'd'列的总和
在论坛上,我认为这样做会奏效:
df['e']=df[['a','b','d']].map(总和)
但事实并非如此
我想知道将列['a'、'b'、'd']和df作为输入的适当操作
您只需sum并设置paramaxis=1即可对行进行求和,这将忽略无数值列:
[91]on
:
数据帧({'a':[1,2,3],'b':[2,3,4],'c':['dd','ee','ff'],'d':[5,9,1]})
df['e']=df.sum(轴=1)
df
Output[91]:
a、b、c、d、e
01 2 dd 5 8
1 2 3 ee 9 14
2 3 4 ff 1 8
如果只想对特定列求和,则可以创建列列表并删除不感兴趣的列:
[98]on
:
col_list=列表(df)
列列表。删除('d')
col_列表
Output[98]:
['a','b','c']
At[99]on:
df['e']=df[col_list].sum(轴=1)
df
Output[99]:
a、b、c、d、e
01 2 dd 5 3
1 2 3 ee 9 5
2 3 4 ff 17