我想从这个数据框结构开始:
df = pd.DataFrame({'col1':['a','a','b','b','c','c'],
'col2':['str_a1','str_a2','str_b1','str_b2','str_c1','str_c2']})
df
到这个
df2 = pd.DataFrame({'col1_1':['a','b','c'],
'col2_1':['str_a1','str_b1','str_c1'],
'col2_2':['str_a2','str_b2','str_c2']})
df2
有没有办法在熊猫身上做到这一点?
使用,assign
并pivot
与add_prefix
s = df.groupby('col1').cumcount().add(1)
df_out = (df.assign(n=s).pivot('col1', 'n', 'col2').add_prefix('col2_')
.reset_index())
Out[32]:
n col1 col2_1 col2_2
0 a str_a1 str_a2
1 b str_b1 str_b2
2 c str_c1 str_c2
或set_index
与pivot
和T
s = df.groupby('col1').cumcount().add(1)
df_out = (df.set_index(s).pivot(columns='col1', values='col2')
.rename(lambda x: f'col2_{x}').T.reset_index())
Out[75]:
col1 col2_1 col2_2
0 a str_a1 str_a2
1 b str_b1 str_b2
2 c str_c1 str_c2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句