这个错误是由于预测的销售单价只有一个值,而不是一个数组,导致在循环中索引超出范围。可以尝试修改代码,将预测的销售单价改为一个数组形式。

# 预测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]

这样修改后,预测的销售单价将是一个数组,可以正确计算补货量和商超的收益。

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

原文地址: https://www.cveoy.top/t/topic/i2hs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录