将多索引系列转换为字典系列

tun*_*olf 2 python multi-index pandas pandas-groupby

我有一个多索引系列,如下所示:

a 1 value_1
  2 value_2
  3 value_3
b 2 value_4
  4 value_5
  5 value_6
c 1 value_7
  5 value_8
  9 value_9
Run Code Online (Sandbox Code Playgroud)

我想将其转换为单个索引系列,其中第二级索引现在是字典键,如下所示:

a {1: value_1, 2: value_2, 3: value_3}
b {2: value_4, 4: value_5, 5: value_6}
c {1: value_7, 5: value_8, 9: value_9}
Run Code Online (Sandbox Code Playgroud)

我尝试转换为数据帧,然后执行 to_dict(),但多重索引作为元组返回。我想做的就是能够将第一级索引与第二级索引分离——因此,任何能做到这一点的帮助也将受到赞赏。

piR*_*red 5

系列

pd.Series({k: v[k].to_dict() for k, v in s.groupby(level=0)})

a    {1: 'value_1', 2: 'value_2', 3: 'value_3'}
b    {2: 'value_4', 4: 'value_5', 5: 'value_6'}
c    {1: 'value_7', 5: 'value_8', 9: 'value_9'}
dtype: object
Run Code Online (Sandbox Code Playgroud)

字典

{k: v[k].to_dict() for k, v in s.groupby(level=0)}

{'a': {1: 'value_1', 2: 'value_2', 3: 'value_3'},
 'b': {2: 'value_4', 4: 'value_5', 5: 'value_6'},
 'c': {1: 'value_7', 5: 'value_8', 9: 'value_9'}}
Run Code Online (Sandbox Code Playgroud)