pandas :将重复索引更改为分层索引 [英] Pandas: Change repeated index to hierarchical index

查看:57
本文介绍了 pandas :将重复索引更改为分层索引的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请参见下面的示例.

给出一个索引重复的数据框,我该如何获得一个新的数据框,它的层次索引的第一级是原始索引,第二级是0、1、2,...,n? >

示例:

>>> df
   0  1
a  2  4
a  4  6
b  7  8
b  2  4
c  3  7
>>> df2 = df.some_operation()
>>> df2
      0  1
a  0  2  4
   1  4  6
b  0  7  8
   1  2  4
c  0  3  7

解决方案

您可以使用cumcount

df.assign(level2=df.groupby(level=0).cumcount()).set_index('level2',append=True)
Out[366]: 
          0  1
  level2      
a 0       2  4
  1       4  6
b 0       7  8
  1       2  4
c 0       3  7

See the example below.

Given a dataframe whose index has values repeated, how can I get a new dataframe with a hierarchical index whose first level is the original index and whose second level is 0, 1, 2, ..., n?

Example:

>>> df
   0  1
a  2  4
a  4  6
b  7  8
b  2  4
c  3  7
>>> df2 = df.some_operation()
>>> df2
      0  1
a  0  2  4
   1  4  6
b  0  7  8
   1  2  4
c  0  3  7

解决方案

You can using cumcount

df.assign(level2=df.groupby(level=0).cumcount()).set_index('level2',append=True)
Out[366]: 
          0  1
  level2      
a 0       2  4
  1       4  6
b 0       7  8
  1       2  4
c 0       3  7

这篇关于 pandas :将重复索引更改为分层索引的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆