получать уникальные значения по очереди? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть column с различными действиями, разделенными на ,

Activities

Bathing the puppy, cooking for family
cooking for family, cooking for family
morning walk, cooking for family, Bathing the puppy
Bathing the puppy, Bathing the puppy,Bathing the puppy

Как я могу сделать отдельную column с подсчетом отдельных действий каждой строки.

Я бы хотел, чтобы результат был следующим:

Activities                                                  Unique Activities

Bathing the puppy, cooking for family                         2
cooking for family, cooking for family                        1
morning walk, cooking for family, Bathing the puppy           3
Bathing the puppy, Bathing the puppy,Bathing the puppy        1

Я попробовал nunique метод в pandas, но это работает на весь столбец, а не дает мне разные значения в каждой строке.

1 Ответ

0 голосов
/ 07 ноября 2018

В реальном примере вам может потребоваться решить проблемы с заглавными буквами и пунктуацией. Укажите axis=1 в nunique, чтобы он работал по строкам.

df['Unique Activities'] = df.Activities.str.split(r',\s?', expand=True).nunique(1)

Выход:

                                               Activities  Unique Activities
0                   Bathing the puppy, cooking for family                  2
1                  cooking for family, cooking for family                  1
2     morning walk, cooking for family, Bathing the puppy                  3
3  Bathing the puppy, Bathing the puppy,Bathing the puppy                  1
...