3 回答

TA贡献1911条经验 获得超7个赞
map
由于您只是想创建一列计数,因此对您的玩家名称进行计数会更有意义:
df_2['counts'] = df_2['players.name'].map(
df_1.groupby('players.name')['count'].first())
df_2
players.name players.diff counts
0 Will 0 2
1 John 0 3
2 Jim 0 1

TA贡献2003条经验 获得超2个赞
这可以工作:
pd.merge(df_1, df_2, on=["players.name", "players.diff"]).drop_duplicates()

TA贡献1770条经验 获得超3个赞
您的样本df_1重复了players.name相同的计数,因此您需要 left-merge 和 drop_duplicates
new_df_2 = df_2.merge(df_1[['players.name','count']], on='players.name', how='left').drop_duplicates()
Out[89]:
players.name players.diff count
0 Will 0 2
2 John 0 3
5 Jim 0 1
添加回答
举报