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 = ['妇女节', '六一八', '双十一', '双十二']

# 筛选出2018年的数据
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()

分析结果:

这段代码使用 Python Pandas 和 Matplotlib 库来分析 2018 年法定节假日的促销订单数量。首先读取处理后的订单数据,并筛选出 2018 年的数据。接着,将节假日日期替换为节假日名称,方便后续分组统计。然后按照节假日分组,计算每个节假日的订单数量总和,并筛选出法定节假日的数据。最后,使用 Matplotlib 库绘制折线图展示 2018 年法定节假日的促销订单数量变化趋势。

代码解释:

  • import pandas as pd:导入 Pandas 库用于数据处理。
  • import matplotlib.pyplot as plt:导入 Matplotlib 库用于绘制图表。
  • plt.rcParams['font.sans-serif'] = 'SimHei':设置 Matplotlib 图表的默认字体为 SimHei,方便显示中文。
  • plt.rcParams['axes.unicode_minus'] = False:设置 Matplotlib 图表中负号的显示方式。
  • data = pd.read_csv('processed_order_train1.csv'):读取处理后的订单数据,并存储到 data 变量中。
  • holidays = ['妇女节', '六一八', '双十一', '双十二']:定义法定节假日列表。
  • data_2018 = data.loc[data['order_date'].str.startswith('2018')]:筛选出 2018 年的订单数据。
  • for i, row in data_2018.iterrows(): 循环遍历 2018 年的数据,将日期替换为节假日名称。
  • holiday_data = data_2018.groupby('order_date')['ord_qty'].sum().reset_index():按照节假日分组,计算每个节假日的订单数量总和。
  • holiday_data = holiday_data[holiday_data['order_date'].isin(holidays)]:筛选出法定节假日的数据。
  • plt.plot(holiday_data['order_date'], holiday_data['ord_qty'], marker='o'):绘制折线图。
  • plt.title('2018年促销订单数量'):设置图表的标题。
  • plt.xlabel('促销节'):设置横坐标轴的标签。
  • plt.ylabel('订单数量'):设置纵坐标轴的标签。
  • plt.show():显示图表。

结论:

通过分析 2018 年法定节假日的促销订单数量,可以了解到不同节假日的销售情况,帮助商家制定更有效的促销策略。

Python Pandas 和 Matplotlib 分析 2018 年促销订单数据

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

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