python: Как посчитать элементы строки? - PullRequest
0 голосов
/ 14 сентября 2018

Например, у меня есть DataFrame с именем a. Я хочу посчитать элемент каждой строки.

import numpy as np
a=pd.DataFrame({'A1':['financial','game','game'],'A2':['social','food','sport'],'A3':['social','sport','game']})

Input:

          A1      A2      A3
0  financial  social  social
1       game    food   sport
2       game   sport    game

Expected:

    financial  food  game  social  sport
0          1      0     0       2      0
1          0      1     1       0      1
2          0      0     2       0      1

Надеюсь на помощь, спасибо!

1 Ответ

0 голосов
/ 14 сентября 2018

Использование pandas.get_dummies с sum:

df = pd.get_dummies(a, prefix_sep='', prefix='').sum(axis=1, level=0)
print (df)
   financial  game  food  social  sport
0          1     0     0       2      0
1          0     1     1       0      1
2          0     2     0       0      1

или stack с SeriesGroupBy.value_counts и Series.unstack:

df = a.stack().groupby(level=0).value_counts().unstack(fill_value=0)
print (df)
   financial  food  game  social  sport
0          1     0     0       2      0
1          0     1     1       0      1
2          0     0     2       0      1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...