计算 python 中每 15 行的方差和标准差
calculate variance and standar deviation of each 15 rows in python
我有一个包含 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"])
)
可能解决问题的一种方法。首先,我创建了一个单列和 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
我有一个包含 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"])
)
可能解决问题的一种方法。首先,我创建了一个单列和 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