DataFrame.expanding(self, min_periods=1, center=False, axis=0)
提供expanding转换
0.18.0版中的新功能。
参数: | min_periods : 窗口中具有值的最小观察数(否则结果为NA)。 center : 将标签设置在窗口的中央。 axis : |
返回值: | 为特定操作子类化的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)