用python写一个对销售额的数据分析,列名包括日期,销售额,门店,日期是从2019年的1月1日到2019年的1月15日。一共有两个门店。我想计算两个门店15天的总销售额,销售的平均值,然后选出两个店15天当中销售额最大的日期。然后分别根据两个店的销售数据进行预测接下来五天的销售数据。 python列举出2019年一月16日到20日的日期的列表,并且日期的格式是2019-01-20 00:00:00,然后用 LinearRegression预测这这个list当中的五天的销售额
时间: 2024-04-16 15:28:39 浏览: 81
以下是一个示例代码,通过对销售额的数据进行分析和预测,实现您的需求:
```python
import pandas as pd
from datetime import datetime, timedelta
from sklearn.linear_model import LinearRegression
# 创建销售数据的DataFrame
data = pd.DataFrame({
'日期': pd.date_range(start='2019-01-01', end='2019-01-15'),
'销售额': [100, 150, 200, 120, 170, 190, 180, 160, 210, 230, 220, 250, 270, 240, 260],
'门店': ['门店A', '门店A', '门店A', '门店A', '门店A', '门店A', '门店A', '门店B', '门店B', '门店B', '门店B', '门店B', '门店B', '门店B', '门店B']
})
# 计算两个门店15天的总销售额和销售平均值
total_sales = data.groupby('门店')['销售额'].sum()
average_sales = data.groupby('门店')['销售额'].mean()
print('两个门店15天的总销售额:')
print(total_sales)
print('两个门店15天的销售平均值:')
print(average_sales)
# 找出销售额最大的日期
max_sales_date = data[data['销售额'] == data['销售额'].max()]['日期'].iloc[0]
print('销售额最大的日期:')
print(max_sales_date)
# 生成2019年一月16日到20日的日期列表
start_date = datetime(2019, 1, 16)
end_date = datetime(2019, 1, 20)
date_list = pd.date_range(start=start_date, end=end_date).tolist()
date_list_formatted = [date.strftime("%Y-%m-%d %H:%M:%S") for date in date_list]
print('2019年一月16日到20日的日期列表:')
print(date_list_formatted)
# 使用LinearRegression预测销售额
X_train = data['日期'].dt.dayofyear.values.reshape(-1, 1)
y_train = data['销售额']
X_test = pd.Series(date_list).dt.dayofyear.values.reshape(-1, 1)
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
print('预测的销售额:')
print(y_pred)
```
请注意,上述代码中的销售数据是示例数据,您可以根据实际情况进行替换。预测的销售额使用了简单的线性回归模型,具体的模型选择和参数调优可以根据实际需求进行更改。
阅读全文