2018 年美国法定节假日对订单量的影响分析
本文将分析 processed_order_train1.csv 数据集,筛选出 2018 年的美国法定节假日,并分析这些节假日对订单量 (ord_qty) 的影响。
首先,需要对数据进行预处理,将 'order_date' 列转换为日期时间类型,并添加一列 'holiday' 用于标识日期是否为节假日。
import pandas as pd
from pandas.tseries.holiday import Holiday, USMartinLutherKingJr, USPresidentsDay, USMemorialDay, \
USLaborDay, USThanksgivingDay
# 读取数据
df = pd.read_csv('processed_order_train1.csv')
# 将 'order_date' 转换为日期时间类型
df['order_date'] = pd.to_datetime(df['order_date'])
# 生成节假日日期
holidays = []
for year in range(2018, 2022):
holidays.extend([
pd.Timestamp(date) for date in list(pd.date_range(start=str(year) + '-01-01', end=str(year) + '-01-01', freq='W-MON')) +
[USMartinLutherKingJr(year=year), USPresidentsDay(year=year), USMemorialDay(year=year), USLaborDay(year=year), USThanksgivingDay(year=year)]
])
# 判断日期是否为节假日
df['holiday'] = df['order_date'].apply(lambda x: x in holidays)
接下来,使用 groupby 函数对节假日进行分组,并计算每组的 'ord_qty' 总和,得到每个节假日对应的总订单量。然后,使用 matplotlib 库绘制折线图,并分析结果。
import matplotlib.pyplot as plt
# 按照节假日分组,对 'ord_qty' 求和
holiday_qty = df.groupby(['holiday'])['ord_qty'].sum()
# 绘制折线图
plt.plot(holiday_qty.index, holiday_qty.values)
plt.xticks(rotation=45)
plt.title('Holiday vs Ord_qty')
plt.xlabel('Holiday')
plt.ylabel('Ord_qty')
plt.show()

从图中可以看出,在 2018 年的美国法定节假日中,Memorial Day、Labor Day 和 Thanksgiving Day 对应的总订单量较高,而 Martin Luther King Jr. Day 和 Presidents Day 对应的总订单量较低。这可能是因为 Memorial Day、Labor Day 和 Thanksgiving Day 是美国传统的重要节日,人们通常会购买更多的商品来庆祝,而 Martin Luther King Jr. Day 和 Presidents Day 相对较新,人们可能没有养成购买习惯。此外,我们还可以注意到,在节假日周围的几天,总订单量也有明显的上升趋势,这可能是因为人们在节假日前后会增加购买商品的数量。
原文地址: https://www.cveoy.top/t/topic/nHNW 著作权归作者所有。请勿转载和采集!