计算不同价格类型的数据框之间的价格-Python

时间:2020-03-21 15:58:37

标签: python pandas dataframe

对于我正在做的项目,我目前有3个数据框。这些是针对产品,客户和订单的。这些的简单版本可以在下面找到,实际订单框架大约有10.000列。情况如下:产品具有不同的价格类别,每个客户对每个类别都有特殊的价格。我目前有一个包含订单客户,产品编号,订购产品的数量和日期的订单数据框。

我现在想在订单数据框中的新列中添加订单价格。我设法在那里找到了产品的类别,但是我不知道如何去那里,甚至是正确的方法。任何帮助将不胜感激,在数据框图片下方,我包括了用于制作这些示例数据框的代码。

df_products:

df_products

df_customers:

df_customers

df_orders:

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]})

预先感谢:)

1 个答案:

答案 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