我正在尝试连接两个数据帧,但无法理解Python提供的可能性。
第一个数据帧:

ID MODEL   REQUESTS ORDERS
1  Golf    123      4
2  Passat  34       5
3  Model 3 500      8
4  M3      5        0

第二个数据帧:
MODEL   TYPE  MAKE
Golf    Sedan Volkswagen
M3      Coupe BMW
Model 3 Sedan Tesla

我想要的是在第一个名为“make”的数据帧中添加另一列,使其看起来像这样:
ID MODEL   MAKE       REQUESTS ORDERS
1  Golf    Volkswagen 123      4
2  Passat  Volkswagen 34       5
3  Model 3 Tesla      500      8
4  M3      BMW        5        0

我已经研究了merge、join和map,但所有示例都只是在数据帧的末尾附加了所需的信息。

最佳答案

我认为您可以使用insertmapbySeriescreated withdf2(如果MODEL中的列df2中缺少某个值getNaN):

df1.insert(2, 'MAKE', df1['MODEL'].map(df2.set_index('MODEL')['MAKE']))
print (df1)
   ID    MODEL        MAKE  REQUESTS  ORDERS
0   1     Golf  Volkswagen       123       4
1   2   Passat         NaN        34       5
2   3  Model 3       Tesla       500       8
3   4       M3         BMW         5       0

08-27 18:00
查看更多