首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用熊猫函数将多索引名称转换为列?

使用熊猫函数将多索引名称转换为列?
EN

Stack Overflow用户
提问于 2020-07-15 02:39:54
回答 1查看 48关注 0票数 0

假设我有这样的数据:

我知道我可以降低水平,这样我就有了“赛季”、“球员”、“球队”等栏目。熊猫里有什么功能,我可以把“一队”的名字缩成一列,这样整个栏目都写着“一队”吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-15 02:50:34

IIUC,你可以做一些不同的事情,这里有两种方法:

在那里虚拟数据,

代码语言:javascript
复制
df = pd.DataFrame(np.random.randint(0,100,(5,3)),
                 columns = pd.MultiIndex.from_tuples([('Season', 'Season'), 
                                                      ('First team', 'Players'), 
                                                      ('First team', 'Teams')]))

输入虚拟数据:

代码语言:javascript
复制
  Season First team      
  Season    Players Teams
0     28         41    53
1     62         87    87
2     43         94     4
3     23         12    93
4     14         43    62

然后使用droplevel

代码语言:javascript
复制
df = df.droplevel(0, axis=1)

输出:

代码语言:javascript
复制
   Season  Players  Teams
0      54       94     19
1      54       47     91
2      56       35     40
3      37       68     14
4      17       78     68

或使用列表理解的flatten multiindex column header

代码语言:javascript
复制
df.columns = [f'{i}_{j}' for i, j in df.columns]
#Also, can use df.columns = df.columns.map('_'.join)
df

输出:

代码语言:javascript
复制
   Season_Season  First team_Players  First team_Teams
0             54                  94                19
1             54                  47                91
2             56                  35                40
3             37                  68                14
4             17                  78                68
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62906785

复制
相关文章

相似问题

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