微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从非唯一索引Python Pandas创建唯一的MultiIndex

我有一个带有非唯一索引的pandas DataFrame:

index = [1,1,1,1,2,2,2,3]

df = pd.DataFrame(data = {'col1': [1,3,7,6,2,4,3,4]}, index=index)

df
Out[12]: 
   col1
1     1
1     3
1     7
1     6
2     2
2     4
2     3
3     4

我想把它变成唯一的MultiIndex并保留顺序,如下所示:

        col1
  Ind2      
1 0        1
  1        3
  2        7
  3        6
2 0        2
  1        4
  2        3
3 0        4

我想大熊猫会有这样的功能,但没有找到任何东西

解决方法:

您可以对索引执行groupby.cumcount,然后使用set_index将其作为新级别附加到索引:

df = df.set_index(df.groupby(level=0).cumcount(), append=True)

结果输出

     col1
1 0     1
  1     3
  2     7
  3     6
2 0     2
  1     4
  2     3
3 0     4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐