pandas.DataFrame.expanding 是 pandas 中用于计算扩展窗口的累积计算方法。它返回一个 Expanding 对象,可以应用各种聚合函数,如求和、求均值等,用于逐步扩展窗口进行累计计算。与 rolling 不同,expanding 会从第一个元素开始逐步计算,直到数据的最后。本文主要介绍一下Pandas中pandas.DataFrame.expanding方法的使用。

DataFrame.expanding(self, min_periods=1, center=False, axis=0)

提供expanding转换

0.18.0版中的新功能。

参数

min_periods : int,默认1

窗口中具有值的最小观察数(否则结果为NA)。

center : bool,默认为False

将标签设置在窗口的中央。

axis : intstr,默认为0

返回值

为特定操作子类化的Window


Notes

默认情况下,结果设置为窗口的右边缘。可以通过设置将其更改为窗口的中心center=True。

例子

1)计算累积和(sum)

import pandas as pd
import numpy as np

# 创建一个包含缺失值的 DataFrame
df = pd.DataFrame({'B': [0, 1, 2, np.nan, 4]})

# 使用 expanding(2) 来设置一个最小窗口大小为 2,计算扩展窗口的累积和
result = df.expanding(2).sum()

# 输出结果
print(result)

2)计算累积均值(mean)

import pandas as pd

# 创建示例数据
data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 显示原始 DataFrame
print(df)


# 对列 'A' 进行扩展均值
df['A_cummean'] = df['A'].expanding().mean()

# 对列 'B' 进行扩展均值
df['B_cummean'] = df['B'].expanding().mean()

print(df)

3)使用自定义聚合函数

import pandas as pd

# 创建示例数据
data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)

# 显示原始 DataFrame
print(df)


# 使用 agg 方法应用自定义的聚合函数
df['A_expanding_agg'] = df['A'].expanding().agg(lambda x: x.mean() + x.std())

print(df)

推荐文档

相关文档

大家感兴趣的内容

随机列表