2018年促销节订单数量分析 - Python代码实战
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 读取数据
data = pd.read_csv('processed_order_train1.csv')
data.head()
# 定义法定节假日
holidays = ['妇女节','六一八','双十一','双十二']
# 筛选出2016年的数据
data_2018 = data.loc[data['order_date'].str.startswith('2018')]
# 将节假日日期替换为节假日名称
for i, row in data_2018.iterrows():
if row['order_date'] in ['2018-03-08']:
data_2018.at[i, 'order_date'] = '妇女节'
elif row['order_date'] in ['2018-05-25', '2018-05-26', '2018-05-27', '2018-05-28', '2018-05-29', '2018-05-30', '2018-05-31', '2018-06-01', '2018-06-02', '2018-06-03', '2018-06-04', '2018-06-05', '2018-06-06', '2018-06-07', '2018-06-08', '2018-06-09', '2018-06-10', '2018-06-11', '2018-06-12', '2018-06-13', '2018-06-14', '2018-06-15', '2018-06-16', '2018-06-17', '2018-06-18']:
data_2018.at[i, 'order_date'] = '六一八'
elif row['order_date'] in ['2018-10-24', '2018-10-25', '2018-10-26', '2018-10-27', '2018-10-28', '2018-10-29', '2018-10-30','2018-10-31','2018-11-01', '2018-11-02', '2018-11-03', '2018-11-04', '2018-11-05', '2018-11-06', '2018-11-07', '2018-11-08', '2018-11-09', '2018-11-10', '2018-11-11']:
data_2018.at[i, 'order_date'] = '双十一'
elif row['order_date'] in ['2018-12-01', '2018-12-02', '2018-12-03', '2018-12-04', '2018-12-05', '2018-12-06', '2018-12-07', '2018-12-08', '2018-12-09', '2018-12-10', '2018-12-11', '2018-12-12']:
data_2018.at[i, 'order_date'] = '双十二'
# 按照节假日分组,计算 ord_qty 的总和
holiday_data = data_2018.groupby('order_date')['ord_qty'].sum().reset_index()
# 筛选出法定节假日的数据
holiday_data = holiday_data[holiday_data['order_date'].isin(holidays)]
holiday_data
# 画折线图
plt.plot(holiday_data['order_date'], holiday_data['ord_qty'], marker='o')
plt.title('2018年促销订单数量')
plt.xlabel('促销节')
plt.ylabel('订单数量')
plt.show()
这段代码读取了一个已经处理好的订单数据集,并筛选出了2018年的数据。然后,将日期格式转换为节假日名称,并根据节假日分组,计算了订单数量的总和。最后,筛选出法定节假日的数据并画了一个折线图,展示了2018年不同促销节的订单数量。根据折线图可以看出,双十一和双十二的订单数量最高,其次是六一八,妇女节的订单数量最低。
原文地址: https://www.cveoy.top/t/topic/nHOj 著作权归作者所有。请勿转载和采集!