python - Pandas 将索引的级别 1 转换为列的级别 0
问题描述
我在任何地方都找不到解决方案,所以我在这里问。
我有一个看起来像这样的数据框。这里A
和B
是 MultiIndex 的索引,C
,D
是列标题。
A B C D
a1 b1 0 4
a1 b2 1 5
如何切换第 1 级索引以使其成为第 0 级列,以便得到这样的结果 -
A/B
b1 b2
C D C D
a1 0 4 1 5
这似乎是对数据框的简单操作,但我找不到任何东西。
解决方案
使用DataFrame.unstack
, 但必须MultiIndex
通过DataFrame.swaplevel
and进行更改DataFrame.sort_index
:
df = df.unstack().swaplevel(1,0, axis=1).sort_index(axis=1)
print (df)
B b1 b2
C D C D
A
a1 0 4 1 5
或来自@piRSquared 的解决方案:
df = df.stack().unstack(0).T
推荐阅读
- vb.net - 删除 Datagridview 中第一行的突出显示
- networking - 超过 1000 条记录的搜索的响应时间很长
- rest - 使用spring boot将数据保存到数据库
- typescript - 如何将 cucumber 集成到用 TypeScript 编写的 Puppeteer 测试中?
- coq - 从不同类型转换
- rust - 如何运行 rust 项目的示例
- apache-kafka - 卡夫卡我的一些消费者不消费
- google-cloud-spanner - 我可以索引 EXTRACT(从 startDateTime 开始的星期)吗?或者,查询计划器会直接在“startDateTime”上使用索引吗?
- c# - 为什么 AcquireTokenByAuthorizationCode 不返回 RefreshToken
- python-3.x - 如何使用 Telethon 在消息中插入指向用户个人资料或聊天的链接?