python - 如何使用比较矩阵的结果创建 DataFrame?
问题描述
我正在寻找一种将比较矩阵转换为列出所有组合和比较矩阵结果的 DataFrame 的方法。
这是到目前为止的样子:
import pandas as pd
x1 = ["x11","x12"]
x2 = ["x21","x22"]
y1 = ["y11","y12"]
y2 = ["y21","y22"]
matrix = pd.DataFrame([[1,2],[3,4]], columns = [x1, x2], index = [y1,y2])
print(matrix)
[Out:]
x11 x12
x21 x22
y11 y21 1 2
y12 y22 3 4
现在我想创建一个 DataFrame,它包含索引对的所有组合及其结果。
输出数据框应如下所示
x11 x21 y11 y21 1
x12 x22 y11 y21 2
x11 x21 y12 y22 3
x12 x22 y12 y22 4
我尝试了多种将列名和索引放入列表然后将它们添加在一起的方法。但到目前为止没有任何效果。
任何帮助是极大的赞赏。还请原谅我在 Stackoverflow 上发布问题的经验不足。
解决方案
out = matrix.stack([0,1])
print (out)
y11 y21 x11 x21 1.0
x12 x22 2.0
y12 y22 x11 x21 3.0
x12 x22 4.0
dtype: float64
如果级别的顺序很重要,请添加DataFrame.reorder_levels
:
out = matrix.stack([0,1]).reorder_levels([2,3,0,1])
print (out)
x11 x21 y11 y21 1.0
x12 x22 y11 y21 2.0
x11 x21 y12 y22 3.0
x12 x22 y12 y22 4.0
dtype: float64
推荐阅读
- c++11 - insert() 中的分段错误,C++ 上的双向链表
- node.js - 节点 oracledb 执行 pl/sql 函数
- c# - Etag 的每个组合都被视为无效。当我在图形资源管理器中执行相同的请求时,它可以工作
- python - 如何阅读python文档?
- python - 将 Python 连接到 MySQL 数据库
- activeadmin - 活动管理员在唯一字段上创建附加 URL
- python - Jupyter - 不确定是否不工作或链接断开
- encryption - 您如何在代码中表示 x 位密钥?
- php - 提交后从方法刷新当前页面
- javascript - 有没有办法直接在 ReactJs 中操作 DOM 来显示 iframe?