我有一个数据框df1,其中包含有关各种尺寸的衬衫和裤子的信息。 我有另一个数据框df2,其中包含衬衫和裤子的价格,所有尺寸均相同。 我需要在df1中添加一列“价格”,其中应包含存储在df2中的衬衫和裤子的价格。
我尝试如下组合两个数据框: 合并= df1.combine_first(df2) 但是没有达到预期的结果。
import pandas as pd
data1 = {'Item': ['Shirt', 'Shirt', 'Shirt','Pant','Pant','Pant'], 'Size':40,42,44,28,30,32]}
df1 = pd.DataFrame(data1, columns= ['Item','Size'])
data2 = {'Item': ['Shirt', 'Pant'],'Price': [1000,1500],}
df2 = pd.DataFrame(data2, columns= ['Item','Price'])
merged = df1.combine_first(df2)
merged
这就是我得到的:
Item Price Size
0 Shirt 1000.0 40
1 Shirt 1500.0 42
2 Shirt NaN 44
3 Pant NaN 28
4 Pant NaN 30
5 Pant NaN 32
相反,我想要:
Item Price Size
0 Shirt 1000.0 40
1 Shirt 1000.0 42
2 Shirt 1000.0 44
3 Pant 1500.0 28
4 Pant 1500.0 30
5 Pant 1500.0 32