假设我们有一个 dataframe1 看起来像tag randomEnglish abcFrench xyzChinese poi和 dataframe2 看起来像这样language translation dataEnglish hello 5 hi 3 hey 1Chinese nihao 4 xyz 0Dutch oy 9French bonjour 7我想实现一个如下所示的数据框:outputtag translation dataEnglish hello 5Chinese nihao 4French bonjour 7我知道我需要做类似的事情df = pd.merge(df1, df2, left_on='tag', right_on='language')但是当我这样做时我遇到了一堆错误..
1 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
df2 是一个系列而不是数据帧,按多索引的 0 级对其进行分组,选择第一行并重置索引以将系列转换为数据帧。现在使用合并。
df1[['tag']].merge(df2.groupby(level=0).head(1).reset_index(),\
left_on = 'tag', right_on = 'language', how = 'left').drop('language', axis = 1)
tag translation data
0 English hello 5
1 French bonjour 7
2 Chinese nihao 4
添加回答
举报
0/150
提交
取消