6.27数据分析实训任务1.1(python)

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

相关推荐
Ray Liang28 分钟前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮43 分钟前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling1 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮4 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽4 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健19 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞21 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
敏编程1 天前
一天一个Python库:jsonschema - JSON 数据验证利器
python