python - 如何计算这种格式的数据帧的方差?
问题描述
这里我有一个简化的数据框(真实的格式相同,但只是放大了)
import pandas as pd
import numpy as np
row = (1, 2)
columns = ["x", "y", "x", "y", "x", "y", "x", "y"]
data = ([10, 2, 8, 1.5, 9, 2, 11, 1.6], [8, 3, 7.5, 2.2, 9, 2, 8.6, 2.3])
df = pd.DataFrame(data, index = row, columns = columns)
我想计算 1、2 的 x、y 的方差,理想的格式是
任何提示或帮助表示赞赏
解决方案
尝试这个 -
- Unstack 以获取 x, y 列作为索引
- 在水平 [x,y] 和 [1,2] 上分组并计算方差。
- 取消堆叠并转置以获得 [x,y] 作为列。
df.unstack().groupby(level=[0,1]).var().unstack().T
x y
1 1.666667 0.069167
2 0.435833 0.189167
推荐阅读
- html - 图片来源标签不起作用,它总是回退
- javascript - 当 JavaScript 没有提供任何明显的实现不变性的方法时,人们如何在 JavaScript 中实现不可变数据结构?
- javascript - Discord.js-commando 缺少参数回复
- javascript - 回调返回空数组 - Node.js
- c++ - g++ TestCpp.cpp -pthread -std=c++11 -o 测试;
- flutter - 在重新启动应用程序进入初始状态
- c - 从c中的文件加载列表
- flutter - 如何使用 FutureBuilder 实现 ScrollInfinitive
- c# - 断开连接时销毁的光子用户对象
- django - 如何在 django 表单中的 ManyToMany 字段生成的 CheckboxSelectMultiple ChoiceWidget 的单个选项上设置属性?