【发布时间】:2015-11-05 07:15:37
【问题描述】:
我有一个Series,如下:
In [37]: ser
Out[37]:
Aa 0
Ab 1
Ac 2
Ba 3
Bb 4
Bc 5
Ca 6
Cb 7
Cc 8
dtype: int3
我想将其重新排列为 DataFrame 为:
a b c
A 0 1 2
B 3 4 5
C 6 7 8
这是我没有运气的尝试:
In [38]: ser.groupby(lambda i: i[0]).apply(lambda x: x.rename({i: i[1] for i in x.index}).to_frame())
Out[38]:
A B C
A a 0 NaN NaN
b 1 NaN NaN
c 2 NaN NaN
B a NaN 3 NaN
b NaN 4 NaN
c NaN 5 NaN
C a NaN NaN 6
b NaN NaN 7
c NaN NaN 8
编辑 我发现了以下关闭结果:
In [50]: ser.groupby(lambda i: i[0]).apply(lambda x: x.rename({i: i[1] for i in x.index}).to_frame().transpose())
Out[50]:
a b c
A A 0 1 2
B B 3 4 5
C C 6 7 8
但是,它有一个MultiIndex。
【问题讨论】:
标签: python pandas dataframe series