Панды: преобразование на основе количества значений строки в другом кадре данных - PullRequest
0 голосов
/ 26 ноября 2018

У меня есть два кадра данных:

df1:

Gender  Registered
female  1
male    0
female  0
female  1
male    1
male    0

df2:

Gender
female
female
male
male

Я хочу изменить df2, чтобы появился новый столбец 'Count 'с количеством зарегистрированных = 1 для соответствующих гендерных значений из df1.Например, в df1 есть 2 зарегистрированных женщины и 1 зарегистрированный мужчина.Я хочу преобразовать df2 так, чтобы вывод был следующим:

output:

Gender  Count
female  2
female  2
male    1
male    1

Я пробовал много вещей и приблизился, но не смог заставить его работать полностью.

Ответы [ 2 ]

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

pd.merge

pd.merge(df2, df1.groupby('Gender', as_index=False).sum())

    Gender  Registered
0   female  2
1   female  2
2   male    1
3   male    1
0 голосов
/ 26 ноября 2018

sum + map:

v = df1.groupby('Gender').Registered.sum()
df2.assign(Count=df2.Gender.map(v))

   Gender  Count
0  female      2
1  female      2
2    male      1
3    male      1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...