当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame expanding方法用法及代码示例


Pandas DataFrame.expanding(~) 方法用于计算累积统计数据。

参数

1.min_periods | int | optional

计算统计数据的窗口中值的最小数量。如果窗口中的观测值数量小于 min_periods ,则为该窗口返回 NaN 。默认情况下,min_periods=1

注意

A 窗户本质上是计算统计数据的数字(观察值)序列。

2. center | boolean | optional

  • 如果 True ,则观察值设置为窗口的中心。

  • 如果 False ,则观察值设置在窗口的右侧。

默认情况下,center=False 。请参阅下面的示例以进行说明。

3. axis | intstring | optional

是否按行或列进行扩展:

说明

"index"0

按列展开。

"columns"1

按行展开。

返回值

随后将用于计算一些累积统计信息的 Window 对象。

例子

计算累积和

考虑以下 DataFrame :

df = pd.DataFrame({"A":[2,4,8],"B":[4,5,6]})
df



   A  B
0  2  4
1  4  5
2  8  6
按列

要按列计算累积和:

df.expanding().sum()



   A     B
0  2.0   4.0
1  6.0   9.0
2  14.0  15.0
逐行

要按行计算累积和:

df.expanding(axis=1).sum()



   A    B
0  2.0  6.0
1  4.0  9.0
2  8.0  14.0
警告

这个例子只是为了演示如何使用该方法。 Pandas 有一个方法 DataFrame.cumsum(~) 可以直接计算累积和。

指定min_periods

考虑与上面相同的DataFrame:

df = pd.DataFrame({"A":[2,4,8],"B":[4,5,6]})
df



   A  B
0  2  4
1  4  5
2  8  6

使用 min_periods=2 调用 expanding(~)

df.expanding(2).sum()



   A     B
0  NaN   NaN
1  6.0   9.0
2  14.0  15.0

在这里,我们得到第一行的NaN,因为第一个累积和是仅使用 1 个值计算的,该值低于指定的最小值 2。

指定中心参数

考虑以下 DataFrame :

df = pd.DataFrame({"A": [2,4,8,16,25]})
df



   A
0  2
1  4
2  8
3  16
4  25

调用 expanding(~),并将 center 参数设置为 True

df.expanding(center=True).sum()



   A
0  14.0
1  30.0
2  55.0
3  53.0
4  49.0

初始选择值的大小确定如下:

ceil(num_of_rows/2) = 3

以下是数字计算方式的详细说明:

A[0]: sum(2, 4, 8) = 14
A[1]: sum(2, 4, 8, 16) = 30
A[2]: sum(2, 4, 8, 16, 25) = 55
A[3]: sum(4, 8, 16, 25) = 53
A[4]: sum(8, 16, 25) = 49

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | expanding method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。