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
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
