使用具有重复值的列作为Pandas中的数据框索引

时间:2019-11-08 03:26:16

标签: python pandas

我想使用具有重复值的列为数据框设置索引。熊猫是否可以通过任何方式自动添加第二个索引,以便在复制第一个索引时增加第二个索引?

例如:

   ID              name  company           position
   ------------------------------------------------
0  23      Alex Monoson   Coobit      Sales manager
1  12    Johnny Johnson   Coobit  Marketing manager
2  62         Hans Dupa    Pesik  Marketing manager
3  31    Jessica Heiler  Montino           Engineer
4  92  Dominic Alvorine  Montino                CFO
5  16           Hei Lee   Coobit                CEO

我想使用company作为索引,并且还会有另一个整数索引列

我的预期输出:

                    ID    name    position
company
------------------------------------------
Coobit      0       blah  blah        blah
Coobit      1       blah  blah        blah
Coobit      2       blah  blah        blah
Pesik       0       blah  blah        blah
Montino     0       blah  blah        blah
Montino     1       blah  blah        blah

1 个答案:

答案 0 :(得分:1)

我们可以使用cumcount

df['index2']=df.groupby('company').cumcount()
df=df.set_index(['company','index2']).sort_index()