我有兩個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