我有一个类似的数据框:
In [4]: df
Out[4]:
A B C D E F G
0 apple orange 10 20 cat rat 10
1 apple orange 10 20 cat rat 20
2 grapes banana 22 34 dog frog 34
3 grapes banana 22 34 dog frog 40
4 grapes banana 22 34 dog frog 67
5 kiwi avocado 90 89 ant fox 76
6 apple orange 10 20 cat rat 10
7 cherry date 56 91 tiger lion 65
我想要的输出如下:
In [3]: df
Out[3]:
A B C D E F G_1 G_2 G_3
0 apple orange 10 20 cat rat 10 20 10
1 grapes banana 22 34 dog frog 34 40 67
2 kiwi avocado 90 89 ant fox 76 0 0
3 cherry date 56 91 tiger lion 65 0 0
我很困惑并尝试了很多pivot_table
,但无法确定如何根据值添加其他列。
谢谢你的回复
的修改
我找到了一个使用groupby的方法,但只有它是唯一的才能起作用:
df.groupby(['A','B','C','D','E','F'])['G'].unique()
Out[26]:
A B C D E F
apple orange 10 20 cat rat [10, 20]
cherry date 56 91 tiger lion [65]
grapes banana 22 34 dog frog [34, 40, 67]
kiwi avocado 90 89 ant fox [76]
然后我将把列表分成不同的列。
假设我有两个重复的行,那么我仍然希望将G
中的值添加为单独的列,如所需的输出所示。如何将重复的值包含在单独的列中。
答案 0 :(得分:2)
这是单程
self.errors.messages