Дублированные строки объединяются в одну строку, добавляя новые столбцы в пандах - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть эти данные

| 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|

Я уже знаю, как получить первые дубликаты и последние, но я не знаюзнать, как «преобразовать» фрейм данных

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

вам нужно groupby.transform ,

df['action']=df.groupby('name')['action'].transform(','.join)

df=df.drop_duplicates('name')
print(df)
#id name    action
#0  1   user1   action1, action56, action649
#1  2   user2   action1
#3  4   user3   action49
0 голосов
/ 14 декабря 2018

Это проблема pivot после использования groupby + cumcount создать ключ

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...