pandas:基于另一个datafram中的行值计数的转换

2024-06-09 11:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个数据帧:

df1型:

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

df2型:

Gender
female
female
male
male

我想修改df2,这样就有了一个新的列'Count',它的Count为registered=1,对应于df1中的gender值。例如,在df1中有2名注册女性和1名注册男性。我想将df2转换为如下输出:

输出:

Gender  Count
female  2
female  2
male    1
male    1

我尝试了很多方法,但都没有成功。你知道吗


Tags: 数据方法countgendermalefemaledf1df2
2条回答

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

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

相关问题 更多 >