为了账号安全,请及时绑定邮箱和手机立即绑定

对 A 列进行分组后,将 B 列中的唯一值转为新列

对 A 列进行分组后,将 B 列中的唯一值转为新列

慕的地10843 2021-08-14 17:00:08
我有以下数据框:COL_A   COL_B1   a1   b2   a2   b3   a3   b4   c4   d5   c5   d我正在尝试对 COL_A 中的值进行分组并将 COL_B 中的唯一值旋转到一个新列COL_A   COL_B   COL_C1   a   b2   a   b3   a   b4   c   d5   c   d我已经用 df.groupby 和 df.pivot 尝试了很多不同的技术,但我似乎无法得到我想要的结果。
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

由于每个唯一COL_A值总是恰好出现两次,因此您可以重塑系列并提供给pd.DataFrame构造函数:


df = df.sort_values('COL_A')


arr = df['COL_B'].values.reshape(-1, 2)


res = pd.DataFrame({'COL_A': df['COL_A'].unique(),

                    'COL_B': arr[:, 0],

                    'COL_C': arr[:, 1]})


print(res)


   COL_A COL_B COL_C

0      1     a     b

1      2     a     b

2      3     a     b

3      4     c     d

4      5     c     d



查看完整回答
反对 回复 2021-08-14
  • 1 回答
  • 0 关注
  • 136 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号