我正在尝试连接两个数据帧,但无法理解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,但所有示例都只是在数据帧的末尾附加了所需的信息。
最佳答案
我认为您可以使用insert
和map
bySeries
created 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