import pandas as pd
import matplotlib.pyplot as plt
读取 CSV 文件
data = pd.read_csv(r"C:\Users\XXGC\Desktop\shiuxun3.csv")
将订单创建时间转换为 datetime 类型
data["订单创建时间"] = pd.to_datetime(data["订单创建时间"])
提取小时信息
data["小时"] = data["订单创建时间"].dt.hour
计算每个小时的订单数量
hourly_orders = data.groupby("小时")["订单编号"].count()
绘制折线图
plt.figure(figsize=(12, 6))
plt.plot(hourly_orders.index, hourly_orders.values)
plt.xlabel("小时")
plt.ylabel("订单数量")
plt.title("订单数量随时间的变化(小时维度)")
plt.xticks(range(0, 24, 2))
plt.grid(True)
plt.show()
数据分析
1. 订单数量最多的小时
max_hour = hourly_orders.idxmax()
max_orders = hourly_orders.max()
print("订单数量最多的小时是:{} 点,订单数量为:{}".format(max_hour, max_orders))
2. 总订单数量
total_orders = data["订单编号"].count()
print("总订单数量为:{}".format(total_orders))
3. 平均订单金额
average_amount = data["总金额"].mean()
print("平均订单金额为:{:.2f}".format(average_amount))
4. 退款订单数量和退款金额
refund_orders = data[data["退款金额"] > 0]
refund_orders_count = refund_orders.shape[0]
refund_amount = refund_orders["退款金额"].sum()
print("退款订单数量为:{},退款金额为:{:.2f}".format(refund_orders_count, refund_amount))