【发布时间】:2020-11-05 10:26:08
【问题描述】:
假设我有两个数据框:
df1:
Person Number Type
0 Kyle 12 Male
1 Jacob 15 Male
2 Jacob 15 Male
df2: 一个更大的数据集,格式相似,只是有一个计数列需要根据 df1 递增
Person Number Type Count
0 Kyle 12 Male 0
1 Jacob 15 Male 0
3 Sally 43 Female 0
4 Mary 15 Female 5
我要做的是根据 df1 中同一个人的出现次数增加计数列
此示例的异常输出:
Person Number Type Count
0 Kyle 12 Male 1
1 Jacob 15 Male 2
3 Sally 43 Female 0
4 Mary 15 Female 5
将 Kyle 的计数增加到 1,因为有一个实例,将计数增加到 2,因为 Jacob 的实例有两个。不要更改 Sally 和 Mary 的值并保持值不变。
我该怎么做?我试过使用 .loc 但我不知道如何解释同一行的两个实例。这意味着即使 df1 中有两个 Jacobs,我也只能让 Jacob 的 count 增加一。
我试过了
df2.loc[df2['Person'].values == df1['Person'].values, 'Count'] += 1
但这不考虑重复。
【问题讨论】: