вероятность категориального столбца в кадре данных панд - PullRequest
0 голосов
/ 27 мая 2019

У меня есть такой фрейм данных для панд

0 Age color country
1  23  red    Us
2  25  black  UK
3  19  blue   UK
4  10  red    India
5  15  red    UK

Что я хочу сделать, это найти вероятность каждой категории в столбце «цвет» и получить что-то вроде этого:

0 Age color country  color_pro
1  23  red    Us       0.6 
2  25  black  UK       0.2
3  19  blue   UK       0.2
4  10  red    India    0.6
5  15  red    UK       0.6

Что я должен сделать, чтобы найти вероятность в кортеже? как это:

0 color color_pro
1 red    0.6 
2 black  0.2
3 blue   0.2
4 red    0.6
5 red    0.6

Я хочу иметь вероятность в другом кортеже:

0 color_pro
1  0.6 
2  0.2
3  0.2
4  0.6
5  0.6

1 Ответ

2 голосов
/ 27 мая 2019

Используйте groupby и count, чтобы получить значения, а затем вычислите пропорции.

df['color_pro'] = df.groupby('color')['color'].transform('count')
df['color_pro'] = df['color_pro'].map(lambda x : x/len(df))

ИЛИ, объединяя обе строки вместе, мы можем сделать это также.

df['color_pro'] = df.groupby('color')['color'].transform(lambda x : x.count()/len(df))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...