Pandas:对给定列的数据帧行求和

我有以下数据帧:

[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

发表评论