Python 重复的行合并为一行,并在一行中添加新列
我有这些数据Python 重复的行合并为一行,并在一行中添加新列,python,pandas,Python,Pandas,我有这些数据 | id | name | action| | 1 | user1| action1| | 2 | user2| action1| | 3 | user1| action56| | 4 | user3| action49| | 5 | user1| action649| 我想得到这个: | id | name | action | action2 | action3 | | 1 | user1| action1| action56| action649|
| id | name | action|
| 1 | user1| action1|
| 2 | user2| action1|
| 3 | user1| action56|
| 4 | user3| action49|
| 5 | user1| action649|
我想得到这个:
| id | name | action | action2 | action3 |
| 1 | user1| action1| action56| action649|
| 2 | user2| action1|
| 4 | user3| action49|
我已经知道如何获取第一个副本和最后一个副本,但我不知道如何“转换”数据帧这是使用
groupby
+cumcount
创建密钥后的pivot
问题
df.assign(key=df.groupby('name').cumcount()+1).pivot('name','key','action').add_prefix('action_')
key action_1 action_2 action_3
name
user1 action1 action56 action649
user2 action1 None None
user3 action49 None None
使用
groupby
+cumcount
创建密钥后,这是一个pivot
问题
df.assign(key=df.groupby('name').cumcount()+1).pivot('name','key','action').add_prefix('action_')
key action_1 action_2 action_3
name
user1 action1 action56 action649
user2 action1 None None
user3 action49 None None
你需要
你需要
谢谢它适合我的问题,我刚刚添加了
pd.DataFrame(pivot\u table.to\u records())
以获得一个更适合我的问题的DataFrame对象。向您致敬W-B先生,我真的从您那里得到了灵感,看到您的熊猫知识,您现在是我的理想之一(说实话)++顺便说一句:)先生,我们怎么能像你一样学到任何建议。@RavinderSingh13不断复习好的问答答案,所以,也不是捷径,只是多练习:-)谢谢!它适合我的问题,我刚刚添加了pd.DataFrame(pivot\u table.to\u records())
以获得一个更适合我的问题的DataFrame对象。向您致敬W-B先生,我真的从您那里得到了灵感,看到您的熊猫知识,您现在是我的理想之一(说实话)++顺便说一句:)先生,我们怎样才能像你一样学到任何建议。@RavinderSingh13不断复习好的问答答案,所以,也不是捷径,只是多练习:-)