首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pandas数据帧中使用str.extract创建多索引

在pandas数据帧中使用str.extract创建多索引
EN

Stack Overflow用户
提问于 2021-06-01 02:47:26
回答 1查看 21关注 0票数 0

我有一个数据帧,它的列和行的名称如下索引所示:

代码语言:javascript
复制
idx = ['CAN_agr', 'CAN_ser', 'USA_agr', 'USA_ser', 'MEX_agr', 'MEX_ser']
sample = pd.DataFrame(
[[1, 2, 3, 4, 5 ,6],
[7, 8, 9, 10, 11, 12],
[13, 14, 15, 16, 17, 18],
[19, 20, 21, 22, 23, 24],
[25, 26, 27, 28, 29, 30],
[31, 32, 33, 34, 35, 36]],
index = idx,
columns=idx
)

我想使用这些名称来创建多个索引,其中level=0将是国家名称(即CAN、美国、MEX),而level=1将具有每个国家的行业类型(即agr、ser)。我想使用str.extract,但我不确定如何根据国家和行业类型将标签分开,并将它们分配为多索引列和行。有人能帮我解决这个问题吗?非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-01 02:52:43

split索引和_上的列,然后将它们重新分配为索引和列应该做的事情:

代码语言:javascript
复制
sample.index = sample.index.str.split('_', expand=True)
sample.columns = sample.columns.str.split('_', expand=True)
sample

        CAN     USA     MEX    
        agr ser agr ser agr ser
CAN agr   1   2   3   4   5   6
    ser   7   8   9  10  11  12
USA agr  13  14  15  16  17  18
    ser  19  20  21  22  23  24
MEX agr  25  26  27  28  29  30
    ser  31  32  33  34  35  36
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67778913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档