我需要能够通过查看每列每行的每个值从一个df中找到另一个df中的值。
基本上我有这个df,这是我的main_df(注意这是一个模拟的数据在现实中,我有数百列和数千行):
您可以.pivot()
auxiliary_df
和.map()
:
tmp = auxiliary_df.pivot(index='answer', columns='category', values='value')
main_df = main_df.set_index('user_id')
for c in main_df:
main_df[c] = main_df[c].map(tmp[c])
print(main_df.reset_index())
打印:
user_id fav_fruit fav_veg basket
0 1 0.5 0.7 3.0
1 2 0.5 0.7 5.0
2 3 0.8 1.0 5.0
3 4 0.5 1.0 3.0