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))