将系列的熊猫标签拆分为python中新数据框的索引和列?

问题描述

我有一个在 python 中看起来像这样的 Pandas 系列:

a.1    10
a.2    20
b.1    30
b.3    40

我想把它变成一个像这样的数据框:

    1    2    3
a  10   20    -
b  30    -   40

有没有人知道一个好的解决方案?

解决方法

您可以先通过MultiIndex Series创建split,然后通过Series.unstack重塑:

s.index = s.index.str.split('.',expand=True)
df = s.unstack()
print (df)
      1     2     3
a  10.0  20.0   NaN
b  30.0   NaN  40.0