对于我正在做的项目,我目前有3个数据框。这些是针对产品,客户和订单的。这些的简单版本可以在下面找到,实际订单框架大约有10.000列。情况如下:产品具有不同的价格类别,每个客户对每个类别都有特殊的价格。我目前有一个包含订单客户,产品编号,订购产品的数量和日期的订单数据框。
我现在想在订单数据框中的新列中添加订单价格。我设法在那里找到了产品的类别,但是我不知道如何去那里,甚至是正确的方法。任何帮助将不胜感激,在数据框图片下方,我包括了用于制作这些示例数据框的代码。
df_products:
df_customers:
df_orders:
创建数据框的代码:
import pandas as pd
df_products = pd.DataFrame({'product_number': [1, 2, 3], 'product': ['product 1', 'product 2', 'product 3' ], 'price_type': ['X', 'Y', 'Z']})
df_customers = pd.DataFrame({'customer_number': [1, 2, 3], 'customer': ['customer 1', 'customer 2', 'customer 3' ], 'price_x': [7.50, 10.50, 12.50], 'price_y': [6.50, 9.20, 11.30], 'price_z': [8.50, 10.10, 13.40]})
df_orders = pd.DataFrame({'order_number': [1, 2, 3], 'date': ['19-03-2020', '19-03-2020', '20-03-2020' ], 'customer_number': [1, 3, 2], 'product_number': [1, 2, 3], 'amount': [1, 2, 2]})
预先感谢:)
答案 0 :(得分:0)
如果数据帧的长度相同,则只需添加一个新列即可。在下面,我向df_orders添加新列“价格”,并使用df_customers ['price_y']中的值填充。
喜欢这个
df_orders['price']=df_customers['price_y']
结果是
df_orders.head()
order_number date customer_number product_number amount price
0 1 19-03-2020 1 1 1 6.5
1 2 19-03-2020 3 2 2 9.2
2 3 20-03-2020 2 3 2 11.3