0

我有一个包含 300 个高度值的数据框,我想计算每 15 行的标准偏差和方差。我应该有 20 个 var 和 st.deviation。到目前为止,我已经完成了书面脚本,但它不起作用。我认为我的问题是我应该如何调用标准差和方差,因为当我计算平均值和中位数时,脚本工作正常。如何使用 python 修复它?谢谢你

import statistics
grouper = df.groupby(df.index // 15)
df_var = grouper.agg( 
        statistics.pstdev(df["height"])
       ,statistics.stdev(df["height"])
)
4

1 回答 1

0

一种可能解决问题的方法。首先,我创建了一个单列和 300 行(填充随机数)的虚拟数据集:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,100, size=(300,1)))

如果您想要的只是每 15 行的标准差和方差值,并且您的数据集始终为 300 行,您可以通过以下方法执行此操作。

std_val = []
var_val = []

for i in range(0, len(df)-15):
    df_sub = df[i:i+15]
    std = df_sub.std(axis=0)
    std_val.append(std)
    var = df_sub.var(axis=0)
    var_val.append(var)

print(std_val, var_val) # print list of all values
于 2020-08-12T09:55:35.373 回答