一个数据框中的一行出现在另一个数据框中的概率
probability of a row in one dataframe occurring in another dataframe
我有 2 个数据帧
df 1(发送给用户的影片):
UserID Film
1 3
2 41
2 23
2 53
3 34
5 6
df 2(用户观看的电影 - df 1 的子集):
UserID Film
1 3
2 41
5 6
我正在尝试在 df1 中创建一个列,它是用户观看电影的概率,就像这样
UserID Film Probability
1 3 1
2 41 0.33
2 23 0.33
2 53 0.33
3 34 0
5 6 1
使用 DataFrame.merge
with indicator
parameter and then check if both
values with GroupBy.transform
mean
概率:
df = df1.merge(df2, indicator='Probability', how='left')
df['Probability'] = df['Probability'].eq('both').groupby(df['UserID']).transform('mean')
print (df)
UserID Film Probability
0 1 3 1.000000
1 2 41 0.333333
2 2 23 0.333333
3 2 53 0.333333
4 3 34 0.000000
5 5 6 1.000000
我有 2 个数据帧
df 1(发送给用户的影片):
UserID Film
1 3
2 41
2 23
2 53
3 34
5 6
df 2(用户观看的电影 - df 1 的子集):
UserID Film
1 3
2 41
5 6
我正在尝试在 df1 中创建一个列,它是用户观看电影的概率,就像这样
UserID Film Probability
1 3 1
2 41 0.33
2 23 0.33
2 53 0.33
3 34 0
5 6 1
使用 DataFrame.merge
with indicator
parameter and then check if both
values with GroupBy.transform
mean
概率:
df = df1.merge(df2, indicator='Probability', how='left')
df['Probability'] = df['Probability'].eq('both').groupby(df['UserID']).transform('mean')
print (df)
UserID Film Probability
0 1 3 1.000000
1 2 41 0.333333
2 2 23 0.333333
3 2 53 0.333333
4 3 34 0.000000
5 5 6 1.000000