pandas - 为数据框创建多列索引
问题描述
是否可以将单级列数据框更改为多列数据框?如果我们有这样的数据框,
import pandas as pd
df = pd.DataFrame({
'a': [0, 1, 2, 3],
'b': [4, 5, 6, 7],
'c': [3, 5, 6, 2],
'd': [1, 5, 7, 0],
})
我们可以如下更改它的列名吗?因此,简要地说,我想做的是在不更改数据框值的情况下拥有 2 级列索引。
A B
a b c d
0 0 4 3 1
1 1 5 5 5
2 2 6 6 7
3 3 7 2 0
有什么帮助吗?
解决方案
IIUC,使用 pd.MultiIndex.from_tuples 创建多索引标头并分配给 dataframe.columns:
df = pd.DataFrame({
'a': [0, 1, 2, 3],
'b': [4, 5, 6, 7],
'a2': [3, 5, 6, 2],
'b2': [1, 5, 7, 0],
})
df.columns=pd.MultiIndex.from_tuples([('A','a'),('A','b'),('B','c'),('B','d')])
df
输出:
A B
a b c d
0 0 4 3 1
1 1 5 5 5
2 2 6 6 7
3 3 7 2 0
推荐阅读
- python-3.x - 使用 pyplot 和 Pandas 在 Barchart 中标记条形失败
- javascript - 在隐身窗口中打开 URL
- swift - 将多个闭包作为参数快速传递给函数
- kubernetes - Vault 为键提供旧值和新值
- sql-server - 如何对具有一致性的数据库服务器进行负载平衡?
- visual-studio - 无法在 Proxy 后面安装 Visual Studio 构建工具(在创建脱机安装程序时)
- docker-compose - 无法使用 docker compose 运行 rake db:migrate
- swift - Swift:将数据解码为继承类的对象出现错误
- c# - ExcludeFromCodeCoverage 不适用于 CloseAsync 方法
- java - 如何将连字符分隔的标签名称转换为驼峰式大小写