我有一个带有非唯一索引的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
Run Code Online (Sandbox Code Playgroud)
我想把它变成唯一的MultiIndex并保留顺序,如下所示:
col1
Ind2
1 0 1
1 3
2 7
3 6
2 0 2
1 4
2 3
3 0 4
Run Code Online (Sandbox Code Playgroud)
我想大熊猫会有这样的功能,但没有找到任何东西
您可以groupby.cumcount对索引执行操作,然后使用以下命令将其作为新级别附加到索引set_index:
df = df.set_index(df.groupby(level=0).cumcount(), append=True)
Run Code Online (Sandbox Code Playgroud)
结果输出:
col1
1 0 1
1 3
2 7
3 6
2 0 2
1 4
2 3
3 0 4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
656 次 |
| 最近记录: |