我有两个数据框:
import pandas as pd
d = {'0': [2154,799,1023,4724], '1': [27, 2981, 952,797],'2':[4905,569,4767,569]}
df1 = pd.DataFrame(data=d)
和
d={'PART_NO': ['J661-03982','661-08913', '922-8972','661-00352','661-06291',''], 'PART_NO_ENCODED': [2154,799,1023,27,569]}
df2 = pd.DataFrame(data=d)
我想为
part_no
中的每一行获取对应的df1
,因此结果数据框应如下所示:d={'PART_NO': ['J661-03982','661-00352',''], 'PART_NO_ENCODED': [2154,27,4905]}
df3 = pd.DataFrame(data=d)
我该怎么做呢?
最佳答案
您可以使用reindex
(在set_index
之后)
df2.set_index('PART_NO_ENCODED').reindex(df1.iloc[0,:]).reset_index().rename(columns={0:'PART_NO_ENCODED'})
Out[242]:
PART_NO_ENCODED PART_NO
0 2154 J661-03982
1 27 661-00352
2 4905 NaN