Pandas series.cumsum()方法如何工作
pandas Series.cumsum()方法用于找到系列对象中元素的累积总和。
Series.cumsum()方法返回一个与原始系列对象长度相同的累积总和。累积总和的第一个元素与输入对象相同。
该方法有三个参数,分别是 “axis”, “skipna” 和 “args” 关键字。其中重要的参数是 “skipna”,默认情况下用于排除缺失值,如果要包括缺失值,则需要将其设置为 “False”。
示例1
# importing required packages
import pandas as pd
import numpy as np
# create a pandas Series object
series = pd.Series([9,3,8,np.nan,4])
print(series)
print("Cumulative sum: ",series.cumsum())
解释
在这个示例中,我们正在找到系列对象“series”的累积总和,该对象具有一些整数值和NaN。在这里,我们应用了cumsum()方法而没有改变默认参数值。
输出
0 9.0
1 3.0
2 8.0
3 NaN
4 4.0
dtype: float64
Cumulative sum:
0 9.0
1 12.0
2 20.0
3 NaN
4 24.0
dtype: float64
累计和的第一个元素与原始序列对象具有相同的元素。cumsam()方法默认跳过NaN值,因此在索引位置3处的NaN值被忽略。
示例2
# importing required packages
import pandas as pd
import numpy as np
# create a pandas Series object
series = pd.Series([7,-3,18,np.nan,4,1])
print(series)
print("Cumulative sum including NA: ",series.cumsum(skipna=False))
解释
和前一个示例一样,在这里我们也计算了累计和,但是将skipna参数从默认的True更改为False。因此,NULL值将不会被忽略。
输出
0 7.0
1 -3.0
2 18.0
3 NaN
4 4.0
5 1.0
dtype: float64
Cumulative sum including NA:
0 7.0
1 4.0
2 22.0
3 NaN
4 NaN
5 NaN
dtype: float64
直到出现NaN值时,我们得到了累积求和的元素。之后我们只得到了NaN值,这是因为NaN与任何值的累积求和都只会得到NaN。