我想重塑 a DataFrame
,但我不确定这样做的最佳方法是什么:
原始数据框是:
df1 = pd.DataFrame({'A':['a','a','b','b'],'B':[1,2,2,3]})
我想将其重塑为:
df2 = pd.DataFrame({'a':[1,2],'b':[2,3]})
有人可以解释我如何做到最好吗?
先感谢您!
您可以pivot
在重新组织一下输入后使用:
(df1.assign(index=df1.groupby('A').cumcount())
.pivot(index='index', columns='A', values='B')
.rename_axis(None).rename_axis(None, axis=1)
)
或unstack
:
(df1.set_index([df1.groupby('A').cumcount(), 'A'])
.unstack().droplevel(0, axis=1)
.rename_axis(None, axis=1)
)
输出:
a b
0 1 2
1 2 3
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句