使用Python计算数据帧中每20个数据点的基本统计数据可以通过以下步骤实现:
import pandas as pd
import numpy as np
data = pd.DataFrame({'Value': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]})
window_size = 20
result = data['Value'].rolling(window_size).agg([np.mean, np.median, np.min, np.max])
在上述代码中,我们使用了rolling
函数来创建一个滑动窗口,窗口大小为20。然后,使用agg
函数来计算每个窗口中的基本统计数据,包括平均值(mean)、中位数(median)、最小值(amin)和最大值(amax)。
print(result)
输出结果如下:
mean median amin amax
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN NaN
4 NaN NaN NaN NaN
5 NaN NaN NaN NaN
6 NaN NaN NaN NaN
7 NaN NaN NaN NaN
8 NaN NaN NaN NaN
9 NaN NaN NaN NaN
10 NaN NaN NaN NaN
11 NaN NaN NaN NaN
12 NaN NaN NaN NaN
13 NaN NaN NaN NaN
14 NaN NaN NaN NaN
15 NaN NaN NaN NaN
16 NaN NaN NaN NaN
17 NaN NaN NaN NaN
18 NaN NaN NaN NaN
19 10.5 10.5 1.0 20.0
20 11.5 11.5 2.0 21.0
21 12.5 12.5 3.0 22.0
22 13.5 13.5 4.0 23.0
23 14.5 14.5 5.0 24.0
24 15.5 15.5 6.0 25.0
在输出结果中,前19个窗口的统计数据为NaN,因为数据点不足20个。从第20个窗口开始,每个窗口的统计数据包括平均值、中位数、最小值和最大值。
这是一个简单的示例,你可以根据实际需求调整代码和数据。
领取专属 10元无门槛券
手把手带您无忧上云