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()

# 分析这段代码的结果内容:这段代码的目的是分析2018年四个促销节(妇女节、六一八、双十一、双十二)的订单数量。
# 首先从csv文件中读取数据,然后筛选出2018年的数据。接着将促销节日期替换为促销节名称,并按照促销节分组,计算 ord_qty 的总和。
# 然后从中筛选出法定节假日的数据,并绘制折线图,展示不同促销节的订单数量。
# 最终结果是一个折线图,横坐标表示促销节名称,纵坐标表示订单数量。
Python Pandas & Matplotlib: 可视化分析 2018 年促销节订单数量

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

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