如何在pandas中计算指定元素个数的标准差?

大家好,现在我有一个DataFrame,其中一列数据接近80000个。现在我需要计算其中每100个数据的标准差。请问这应该用什么句法实现呢?

每一百个数据计算标准差,没有条件?

先构造一个2列800行模拟数据集,列名分别为'A'和'B'。

>>> import numpy as np
>>> import pandas as pd
>>> data = np.random.random((800, 2))
>>> colnames = ['A', 'B']
>>> df = pd.DataFrame(data, columns=colnames)
>>> df
            A         B
0    0.873110  0.427585
1    0.579816  0.352475
2    0.346038  0.041847
3    0.757339  0.408963
4    0.579278  0.231502
..        ...       ...
795  0.652869  0.796791
796  0.848916  0.253758
797  0.575989  0.076223
798  0.059614  0.305907
799  0.198827  0.613433

[800 rows x 2 columns]

对A列每100个为一组求标准差。如果A列长度不是100整数倍,则舍弃多余的数据。

>>> d = df['A'].values
>>> d = d[:(d.shape[0]//100)*100].reshape(-1, 100)
>>> np.std(d, axis=1)
array([0.26915131, 0.26924875, 0.30178678, 0.27558205, 0.30820353,
       0.3226786 , 0.2955453 , 0.27770409])