Python - 每列中所选行的标准偏差
Posted
技术标签:
【中文标题】Python - 每列中所选行的标准偏差【英文标题】:Python - standard deviation of chosen rows in each column 【发布时间】:2021-11-30 22:22:11 【问题描述】:我想计算数据框中每一列的标准偏差,但仅适用于选定的行。我想从 Excel 中反映这个公式(仅计算突出显示的单元格的标准偏差,并将每列向下移动一个索引)
您能否告诉我应该如何构建循环来做到这一点? 谢谢。
【问题讨论】:
您需要更好地解释您的问题并发布您迄今为止尝试过的代码 【参考方案1】:我会为此使用 numpy:
示例输入:
>>> df = pd.DataFrame(np.arange(50).reshape(10,5,order='F')).add_prefix('m')
>>> df
m0 m1 m2 m3 m4
0 0 10 20 30 40
1 1 11 21 31 41
2 2 12 22 32 42
3 3 13 23 33 43
4 4 14 24 34 44
5 5 15 25 35 45
6 6 16 26 36 46
7 7 17 27 37 47
8 8 18 28 38 48
9 9 19 29 39 49
输出(这里使用 5 行):
>>> pd.Series(np.c_[[np.diagonal(df.values, offset=-i) for i in range(5)]].std(axis=0), index=df.columns)
m0 1.414214
m1 1.414214
m2 1.414214
m3 1.414214
m4 1.414214
这通过创建一个中间数组来工作:
>>> np.c_[[np.diagonal(df.values, offset=-i) for i in range(5)]]
array([[ 0, 11, 22, 33, 44],
[ 1, 12, 23, 34, 45],
[ 2, 13, 24, 35, 46],
[ 3, 14, 25, 36, 47],
[ 4, 15, 26, 37, 48]])
进口:
import pandas as pd
import numpy as np
【讨论】:
以上是关于Python - 每列中所选行的标准偏差的主要内容,如果未能解决你的问题,请参考以下文章