import pandas as pdimport numpy as npfrom sklearnlinear_model import LinearRegression# 读取数据data = pdread_csvtestcsv# 数据预处理筛选出2020年7月1-2日的数据start_date = 2020-07-01end_date = 2020-07-02selected_data = d
这个错误是由于预测的销售单价只有一个值,而不是一个数组,导致在循环中索引超出范围。可以尝试修改代码,将预测的销售单价改为一个数组形式。
# 预测8月1日的每个单品销售单价
predicted_prices = model.predict(X) # 预测所有单品的销售单价
# 计算每个单品的补货量
n = merged_data.shape[0] # 可售单品数量
min_order_quantity = 2.5 # 单品订购量至少为2.5千克
max_order_quantity = 10 # 每天最多进货10个单品
order_quantities = np.zeros(n)
for i in range(n):
order_quantities[i] = max(min_order_quantity, min(max_order_quantity, predicted_prices[i]))
# 计算商超的收益
profits = np.zeros(n)
for i in range(n):
profits[i] = order_quantities[i] * predicted_prices[i] * (1 - merged_data['单品损耗率'][i]) - order_quantities[i] * merged_data['批发价格'][i]
这样修改后,预测的销售单价将是一个数组,可以正确计算补货量和商超的收益。
原文地址: https://www.cveoy.top/t/topic/i2hs 著作权归作者所有。请勿转载和采集!