我有两个dataframes,main_df
:字符串值来填充第二数据帧
| header_1
0 | value_1
1 | value_2
2 | value_3
3 | value_1
和查找数据帧lookup_df
:
| header_1 | header_2
0 | value_1 | lookup_value_1
1 | value_2 | lookup_value_2
2 | value_3 | lookup_value_3
3 | value_4 | lookup_value_4
在main_df
的值不是唯一的。 `lookup_df'中的值是唯一的。
我只是想在main
df中填入一个新列,并且相应的lookup_value
从lookup_df
。
已经尝试了各种方法,包括.merge
,.join
,.map
和.lookup
。
main_df = pd.merge(main_df, lookup_df, how='inner', on=['header_1'])
我找的结果是:
| header_1 | header_2
0 | value_1 | lookup_value_1
1 | value_2 | lookup_value_2
2 | value_3 | lookup_value_3
3 | value_1 | lookup_value_1
我想你需要'main_df [ 'header_2'] = main_df [ 'header_1']地图(lookup_df.set_index( 'header_1')”。 header_2'])' – jezrael
也许你想做一个左合并? 'main_df = pd.merge(main_df,lookup_df,如何= '左',就= [ 'header_1'])' – EdChum
@jezrael我试过,但我得到的错误'InvalidIndexError:重建索引只与唯一价值指数objects'有效,我的查找值不是唯一的。 – joshi123