我有2个数据框,records_df和price_df,它们的索引相同
price_df:
index product price/product
s1 a 34
s1 b 34
s1 c 23
s2 a 12
s2 b 14
s2 c 65
s3 a 33
s3 b 65
s3 c 54
records_df:
index Name Number Product Sum of Amount of Products Day
s1 x 1234 a 50
s1 x 1234 a 50
s1 x 1234 a 50
s1 x 1234 a 50
s1 x 1234 a 50
s2 y 4321 b 30
s3 z 3219 c 40
s3 z 3219 d 40
我要做的是在每天的产品总和之后插入每个产品的价格,并将两个数据框合并在一起,这样结果将是:
index Name Number Product Sum of Amount of Products Day Price/product
s1 x 1234 a 50 34
s1 x 1234 a 50 34
s1 x 1234 a 50 34
s1 x 1234 a 50 34
s2 y 4321 b 30 34
s3 z 3219 c 40 14
s3 z 3219 b 40 65
我已经尝试过合并并加入,但是它不起作用。基本上,我要尝试的是先在索引上创建一个vlookup,然后再在产品上创建另一个vlookup。如何在python中进行嵌套的vlookup?
答案 0 :(得分:0)
IIUC,您可以仅将loc
与相同的索引一起使用
df2 = df2.set_index(['index', 'Product'])
df = df.set_index(['index', 'product'])
然后
df2.loc[:, 'price/product'] = df['price/product']
Name Number Sum_of_Amount_of_Products_Day price/product
index Product
s1 a x 1234 50 34.0
a x 1234 50 34.0
a x 1234 50 34.0
a x 1234 50 34.0
a x 1234 50 34.0
s2 b y 4321 30 14.0
s3 c z 3219 40 54.0
d z 3219 40 NaN