我有这个数据框:
df = pd.DataFrame({'NUMBER_1': {('2019-07', 'A'): 4, ('2019-07', 'D'): 2, ('2019-08', 'A'): 32, ('2019-08', 'B'): 14, ('2019-09', 'A'): 32, ('2019-09', 'B'): 53, ('2019-09', 'C'): 54, ('2019-09', 'D'): 24},
'NUMBER_2': {('2019-07', 'A'): 75, ('2019-07', 'D'): 12, ('2019-08', 'A'): 42, ('2019-08', 'B'): 32, ('2019-09', 'A'): 54, ('2019-09', 'B'): 21, ('2019-09', 'C'): 97, ('2019-09', 'D'): 65}})
df
:我在哪里寻找这个输出:
我已经看到了针对分类类型列的类似问题,但没有看到针对索引的类似问题,我正在寻找一种避免使用方法
reset_index()
的方法。实际上,我使用了四个索引,而不仅仅是最小示例中的两个索引。有什么建议?
最佳答案
您可以定义一个 MultiIndex
使用当前 MultiIndex.levels
, 和 reindex
设置 fill_value
至 0
:
df.reindex(pd.MultiIndex.from_product(df.index.levels), fill_value=0)
NUMBER_1 NUMBER_2
2019-07 A 4 75
B 0 0
C 0 0
D 2 12
2019-08 A 32 42
B 14 32
C 0 0
D 0 0
2019-09 A 32 54
B 53 21
C 54 97
D 24 65
关于python - 使用级别中的唯一值重新索引 MultiIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61068352/