python-3.x - 根据 pandas 中的行名重新排序列名
问题描述
您好,我有一个 df,例如:
A B C D F
B 0.9326 0.0000 0.4410 0.6526 0.0000
C 1.0158 0.0000 0.0000 0.0000 0.0000
D 1.1740 0.0000 0.5257 0.0000 0.0000
E 1.5009 1.4384 1.2305 1.3852 0.0313
F 1.4572 1.4342 1.1664 1.3243 0.0000
d={'A': {'B': 0.9326, 'C': 1.0158, 'D': 1.174, 'E': 1.5009, 'F': 1.4572}, 'B': {'B': 0.0, 'C': 0.0, 'D': 0.0, 'E': 1.4384, 'F': 1.4342}, 'C': {'B': 0.441, 'C': 0.0, 'D': 0.5257, 'E': 1.2305, 'F': 1.1664}, 'D': {'B': 0.6526, 'C': 0.0, 'D': 0.0, 'E': 1.3852, 'F': 1.3243}, 'F': {'B': 0.0, 'C': 0.0, 'D': 0.0, 'E': 0.0313, 'F': 0.0}}
df= pd.DataFrame.from_dict(d)
我想按照行名顺序重新排序列并得到:
B C D E F
B
C
D
E
F
当然,如果我填充输出 expectec 示例,我们应该在所有对角线上都有 0.000 个值。
有人有想法吗?
解决方案
它是reindex
:
df.reindex(df.index, axis=1)
输出:
B C D E F
B 0.0000 0.4410 0.6526 NaN 0.0000
C 0.0000 0.0000 0.0000 NaN 0.0000
D 0.0000 0.5257 0.0000 NaN 0.0000
E 1.4384 1.2305 1.3852 NaN 0.0313
F 1.4342 1.1664 1.3243 NaN 0.0000
推荐阅读
- c - 如何在结构中使用指针?
- azure - Grafana / Azure Monitor 维度过滤而不拆分
- firebase - Firebase返回文档的字段null
- amazon-web-services - 有没有办法让 lambda 用户访问容器内?
- excel - 分隔逗号的索引和匹配函数
- debugging - 搜索字体和颜色项以在编辑器中显示调试值
- blockchain - 以太坊环境中的节点和客户端有什么区别?
- powerbi - Power BI:DAX 公式检查当天和第二天之间是否满足条件
- c - gcc 使用 -mforce-indirect-call 强制间接调用不起作用
- c# - 如何更改 linq 查询以获取 3 条具有唯一 ID 的记录