Pandas multiIndex:为每个现有索引添加新索引

时间:2015-09-16 13:34:31

标签: python pandas multi-index

我有一个如下所示的数据框:

    ID  Type
0   a1   y
1   a1   y
2   a2   y
3   a2   n
4   a3   n

我想将其重新编入索引,如下所示:

ID  Subindex Type
a1   1        y
     2        y
a2   1        y
     2        n
a3   1        n

大熊猫中的任何命令都可以做到这一点?非常感谢你!

1 个答案:

答案 0 :(得分:0)

要为每个组中的项目编号,请使用cumcount

import pandas as pd
df = pd.DataFrame({'ID': ['a1', 'a1', 'a2', 'a2', 'a3'], 
                   'Type': ['y', 'y', 'y', 'n', 'n']})
df['Subindex'] = df.groupby('ID').cumcount()+1
print(df)

产量

   ID Type  Subindex
0  a1    y         1
1  a1    y         2
2  a2    y         1
3  a2    n         2
4  a3    n         1