DF,大熊猫的标准偏差

时间:2015-04-22 13:26:25

标签: python pandas dataframe

例如我有一个pandas DataFrame,它看起来像:

a b c
1 2 3
4 5 6
7 8 9

我想计算此DF中所有值的标准偏差。函数df.std()让我回到了值pro列。

当然我可以创建下一个代码:

sd = []
sd.append(list(df['a']))
sd.append(list(df['b']))
sd.append(list(df['c']))
numpy.std(sd)

是否可以更简单地使用此代码并为此DF使用一些pandas函数?

1 个答案:

答案 0 :(得分:3)

另一种选择,如果您喜欢“制作所有值的矢量”然后采用其标准偏差的想法:

df.stack().std()

但请注意:请记住,pandas std函数假定与numpy std函数不同的分母(自由度),以便:

df = pd.DataFrame(np.arange(1, 10).reshape(3, 3), columns=list('abc'))
print np.std(df.values)
print df.stack().std()
print df.stack().std() * np.sqrt(8. / 9.)

的产率:

2.58198889747
2.73861278753
2.58198889747

中间数字不同!不是拼写错误!