我有一个像这样的python数据框:
df = pd.DataFrame({'a':[1, 2, 1], 'b':[2, 3, 5]})
df
>>> a b
>>> 0 1 2
>>> 1 2 3
>>> 2 1 5
我希望新列'c'
的所有'a'
都加起来:
>>> a b c
>>> 0 1 2 7
>>> 1 2 3 3
>>> 2 1 5 7
这种for
循环可以做到:
for i in range(len(df)):
df.loc[i, 'c'] = df[df['a']==df.loc[i, 'a']]['b'].sum()
df
>>> a b c
>>> 0 1 2 7.0
>>> 1 2 3 3.0
>>> 2 1 5 7.0
但是我认为应该有更快,更优雅的方式。