jrj*_*rjc 30 python numpy pandas
这是我的问题,我有一个这样的数据帧:
Depr_1 Depr_2 Depr_3
S3 0 5 9
S2 4 11 8
S1 6 11 12
S5 0 4 11
S4 4 8 8
Run Code Online (Sandbox Code Playgroud)
我只是想计算整个数据帧的平均值,因为以下不起作用:
df.mean()
Run Code Online (Sandbox Code Playgroud)
然后我提出:
df.mean().mean()
Run Code Online (Sandbox Code Playgroud)
但是这个技巧不适用于计算标准偏差.我最后的尝试是:
df.get_values().mean()
df.get_values().std()
Run Code Online (Sandbox Code Playgroud)
除了在后一种情况下,它使用numpy中的mean()和std()函数.这对于平均值来说不是问题,但它适用于std,因为pandas函数默认使用ddof=1,而不像numpy那样ddof=0.
Joh*_*hnE 47
您可以将数据stack框转换为单个列(这会将形状从5x3更改为15x1),然后采用标准偏差:
df.stack().std() # pandas default degrees of freedom is one
Run Code Online (Sandbox Code Playgroud)
或者,您可以values在获取标准偏差之前使用从pandas数据帧转换为numpy数组:
df.values.std(ddof=1) # numpy default degrees of freedom is zero
Run Code Online (Sandbox Code Playgroud)
需要注意的是(不像大熊猫)numpy的将给予默认情况下,整个阵列的标准偏差,所以没有必要采取标准偏差之前重塑.
| 归档时间: |
|
| 查看次数: |
72802 次 |
| 最近记录: |