python – 如何转换数据框,以便列值是行值
发布时间:2020-12-20 12:14:24 所属栏目:Python 来源:网络整理
导读:我有以下数据框,如下所示: df = pd.DataFrame({'fruit': ['berries','berries','tropical','nuts'],'code': [100,100,200,300,400,500],'subcode': ['100A','100B','100C','200A','200B','300A','400A','500A']}) code fruit subcode 0 100 berries 100A 1
我有以下数据框,如下所示:
df = pd.DataFrame({'fruit': ['berries','berries','tropical','nuts'],'code': [100,100,200,300,400,500],'subcode': ['100A','100B','100C','200A','200B','300A','400A','500A']}) code fruit subcode 0 100 berries 100A 1 100 berries 100B 2 100 berries 100C 3 200 tropica 200A 4 200 tropical 200B 5 300 tropical 300A 6 400 berries 400A 7 500 nuts 500A 我想将数据帧转换为这种格式: code fruit subcode1 subcode1 subcode1 0 100 berries 100A 100B 100C 3 200 tropica 200A 200B 5 300 tropical 300A 6 400 berries 400A 7 500 nuts 500A 不幸的是,我不知道如何继续.我已经咨询了像Unmelt Pandas DataFrame这样的帖子,并且有堆栈和unstack的组合.我怀疑也涉及一些连接.非常感谢任何建议,帮助我指出正确的方向! 解决方法
您可以使用groupby,获取值并将它们转换为系列.
df.groupby(['code','fruit'])['subcode'].apply( lambda x: x.values ).apply(pd.Series) .add_prefix('subcode_') subcode_0 subcode_1 subcode_2 code fruit 100 berries 100A 100B 100C 200 tropical 200A 200B NaN 300 tropical 300A NaN NaN 400 berries 400A NaN NaN 500 nuts 500A NaN NaN (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |