Cumsum 作为现有 Pandas 数据中的新列
Cumsum as a new column in an existing Pandas data
我有一个 pandas 数据框定义为:
A B SUM_C
1 1 10
1 2 20
我想对 SUM_C 求和并将其作为新列添加到同一数据框中。换句话说,我的最终目标是拥有一个如下所示的数据框:
A B SUM_C CUMSUM_C
1 1 10 10
1 2 20 30
Using cumsum in pandas on group() 显示了生成新数据框的可能性,其中列名 SUM_C 被替换为累积和。但是,我的要求是将累计总和作为新列添加到现有数据框中。
谢谢
只需在 pandas.Series
df['SUM_C']
上应用 cumsum
并将其分配给新列:
df['CUMSUM_C'] = df['SUM_C'].cumsum()
结果:
df
Out[34]:
A B SUM_C CUMSUM_C
0 1 1 10 10
1 1 2 20 30
概述:您可以使用数据框聚合并将其传递给用户定义的函数
def accumulate(values):
"""The accumulate function takes the offset previous numbers in a series and sums them.
args: a dataframe with a 100 numbers
"""
offset=0
accumulate=[]
for i in np.arange(len(values)):
offset+=1
accumulate.append(values[:offset].sum())
return accumulate
A=pd.DataFrame(np.arange(1,101), columns=['value'])
A.aggregate(accumulate).plot()
我有一个 pandas 数据框定义为:
A B SUM_C
1 1 10
1 2 20
我想对 SUM_C 求和并将其作为新列添加到同一数据框中。换句话说,我的最终目标是拥有一个如下所示的数据框:
A B SUM_C CUMSUM_C
1 1 10 10
1 2 20 30
Using cumsum in pandas on group() 显示了生成新数据框的可能性,其中列名 SUM_C 被替换为累积和。但是,我的要求是将累计总和作为新列添加到现有数据框中。
谢谢
只需在 pandas.Series
df['SUM_C']
上应用 cumsum
并将其分配给新列:
df['CUMSUM_C'] = df['SUM_C'].cumsum()
结果:
df
Out[34]:
A B SUM_C CUMSUM_C
0 1 1 10 10
1 1 2 20 30
概述:您可以使用数据框聚合并将其传递给用户定义的函数
def accumulate(values):
"""The accumulate function takes the offset previous numbers in a series and sums them.
args: a dataframe with a 100 numbers
"""
offset=0
accumulate=[]
for i in np.arange(len(values)):
offset+=1
accumulate.append(values[:offset].sum())
return accumulate
A=pd.DataFrame(np.arange(1,101), columns=['value'])
A.aggregate(accumulate).plot()