pandas.DataFrame.cumsum() 是用于对 DataFrame 或 Series 中的元素进行累加的函数。它计算每列(或每行)元素的累加值,生成一个与原 DataFrame 形状相同的对象。本文主要介绍一下Pandas中pandas.DataFrame.cumsum方法的使用。

DataFrame.cumsum(self, axis=None, skipna=True, *args, **kwargs)

[source]

返回DataFrame或Series轴上的累计和。

返回包含累计和的相同大小的DataFrame或Series。

参数

axis : {0或'index',1或'columns'},默认为0

索引或轴的名称。0相当于None或'index'。

skipna : 布尔值,默认为True

排除NA/null值。如果整行/列为NA,则结果为NA。

* args,** kwargs

其他关键字无效,但可能与NumPy兼容。

返回

SeriesDataFrame

例子

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

推荐文档

相关文档

大家感兴趣的内容

随机列表