DataFrame中的标准偏差示例(Python)

时间:2018-04-16 05:14:40

标签: python dataframe standard-deviation

以下是我在DataFrame中的数据片段。

Date                Energy  F1  F2  F3      F4      F5      F6  F7      F8
2013-01-01 00:00:00 0.181   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 00:30:00 0.248   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 01:00:00 0.206   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 01:30:00 0.171   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 02:00:00 0.068   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 02:30:00 0.083   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 03:00:00 0.083   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 03:30:00 0.072   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 04:00:00 0.06    7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 04:30:00 0.061   7.0 5.0 0.87    1000.0  10.0    4.0 13.0    3.0
2013-01-01 05:00:00 0.06    7.0 5.0 0.87    1001.0  10.0    4.0 16.7    4.0
2013-01-01 05:30:00 0.068   6.0 3.0 0.81    1002.0  10.0    4.0 22.2    2.0
2013-01-01 06:00:00 0.076   6.0 3.0 0.81    1002.0  10.0    4.0 22.2    2.0
2013-01-01 06:30:00 0.044   5.0 2.0 0.81    1002.0  10.0    4.0 13.0    1.0
2013-01-01 07:00:00 0.063   5.0 2.0 0.81    1003.0  10.0    4.0 13.0    1.0
2013-01-01 07:30:00 0.063   5.0 2.0 0.81    1003.0  10.0    4.0 16.7    1.0

我想计算能量列的样本标准偏差,使得每4个值(4个值的窗口)具有一个样本标准。

我尝试使用pd.rolling()。std()

df['Smaple Std'] = df['Energy'].rolling(4).std()

但这样做基本上是从一行移动到下一行,并将接下来的4行分组为一个窗口。为每行提供一个新的Sample Std值。

我正在寻找的是每4行一个Sample Std值,窗口移动到接下来的4行。此窗口的大小会发生变化[4,8,6,6],这会重复

我想知道我是否可以使用groupby()但是由于我的数据,df非常大,因此计算成本很高。

任何简单的pythonic方法都可以做到这一点?

0 个答案:

没有答案