DataFrame.cumsum(self, axis=None, skipna=True, *args, **kwargs)
返回DataFrame或Series轴上的累计和。
返回包含累计和的相同大小的DataFrame或Series。
参数: | axis : {0或'index',1或'columns'},默认为 索引或轴的名称。 skipna : 布尔值,默认为True 排除NA/ * args,** kwargs: 其他关键字无效,但可能与NumPy兼容。 |
返回: |
|
例子
1)按列进行累加
import pandas as pd # 创建一个简单的DataFrame data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40], 'C': [100, 200, 300, 400]} df = pd.DataFrame(data) # 计算按列累加的结果 cumsum_df = df.cumsum() print("原始DataFrame:") print(df) print("\n累加后的DataFrame:") print(cumsum_df)
2)按行进行累加
import pandas as pd # 创建一个简单的DataFrame data = {'A': [1, 2, 3, 4], 'B': [10, 20, 30, 40], 'C': [100, 200, 300, 400]} df = pd.DataFrame(data) # 计算按行累加的结果 cumsum_df = df.cumsum(axis=1) print("原始DataFrame:") print(df) print("\n按行累加后的DataFrame:") print(cumsum_df)
3)带有 NaN 值的数据
import pandas as pd import numpy as np # 创建包含 NaN 的DataFrame data = {'A': [1, 2, np.nan, 4], 'B': [10, np.nan, 30, 40], 'C': [100, 200, 300, np.nan]} df = pd.DataFrame(data) # 计算按列累加的结果,忽略 NaN cumsum_df = df.cumsum() print("原始DataFrame:") print(df) print("\n累加后的DataFrame(忽略 NaN):") print(cumsum_df)
4)累加 忽略 NaN 和包含NaN
import pandas as pd import numpy as np # 创建包含 NaN 值的 Series s = pd.Series([2, np.nan, 5, -1, 0]) # 输出原始 Series print("原始 Series:") print(s) # 使用 cumsum 默认忽略 NaN 值进行累加 print("\n默认忽略 NaN 的累加结果:") print(s.cumsum()) # 使用 cumsum 并且在累加时包含 NaN print("\n包含 NaN 的累加结果 (skipna=False):") print(s.cumsum(skipna=False))
5)使用示例
import pandas as pd import numpy as np # 创建 DataFrame df = pd.DataFrame([[2.0, 1.0], [3.0, np.nan], [1.0, 0.0]], columns=list('A B'.split())) # 输出原始 DataFrame print("原始 DataFrame:") print(df) # 使用 cumsum 按列累加 (默认) print("\n按列累加 (默认):") print(df.cumsum()) # 使用 cumsum 按行累加 (axis=1) print("\n按行累加 (axis=1):") print(df.cumsum(axis=1))