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 - 每列中所选行的标准偏差的主要内容,如果未能解决你的问题,请参考以下文章

如何提取 DataTables 中所选行的第一列?

如何更改材质ui表中所选行的文本颜色

删除高于/低于标准偏差的值

Python - 如何计算标准化频率的标准偏差

iOS 14 UIPickerView 所选行的颜色

所选行的 WPF DataGrid RowStyle 不改变背景和前景色