python - Python - 每列中所选行的标准偏差
问题描述
我想计算数据框中每一列的标准偏差,但仅限于选定的行。我想从 Excel 中反映这个公式(仅计算突出显示的单元格的标准偏差,并将每列向下移动一个索引)
你能告诉我我应该如何构建我的循环来做到这一点吗?谢谢你。
解决方案
我会为此使用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
推荐阅读
- html - Bootstrap 4 间距
- python - 为什么我在绘制饼图时遇到问题?
- python - Python:如何将函数结果输出到数据框
- c - dev c++和在线编译器有什么区别?
- java - [ConcurrentHashMap]:地图更新/获取操作在单线程操作中从地图返回陈旧值
- wso2is - Wso2身份服务器i18n关闭编码HTML?
- angular - 无法在垫卡列表上添加水平滚动
- android - 我们应该在 Android 中使用 getPath 还是 getAbsolutePath
- python - 如何解析 mitmdump 文件?
- go - 同时运行 grpc 和 http 服务器