一、功能设计
1.数据加载和预处理:
- 从指定的 CSV 文件中加载淘宝订单数据。
- 对数据进行列重命名和时间格式转换,以便后续处理和分析。
2.统计分析:
- 计算订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额等指标。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
3.可视化展示:
- 生成买家地区分布的饼图,展示不同地区的订单数量占比情况。
- 绘制订单支付时间的趋势图,展示每个时间段的订单数量变化情况。
- 绘制销售额的走势图,展示每天销售额的变化趋势。
4.结果输出:
- 将统计结果打印输出,包括订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
二、设计思路
是用于分析淘宝订单数据的脚本。让我们一步步分析其实现思路:
1.导入库:首先导入了 pandas 和 matplotlib.pyplot 库,用于数据处理和绘图。
2.定义函数:
- address_chart(df): 该函数用于生成买家地区的分布饼图。它首先对数据按照地址进行分组,统计每个地区的订单数量,然后利用 matplotlib 绘制饼图。
- time_chart(df): 该函数用于生成订单支付时间的趋势图。它首先对时间进行处理,将支付时间转换为时间格式,然后按照半小时为间隔对订单进行分组统计,并绘制趋势图。
- money_chart(df): 该函数用于生成销售额的走势图。它对订单创建时间进行处理,按照每天进行销售额统计,并绘制销售额的趋势图。
3.主函数 taobao_analysis(csv_path):
- 读取 CSV 文件数据,使用 pd.read_csv() 方法读取数据,并对列进行重命名以方便处理。
- 数据处理:将时间列转换为日期时间格式。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
- 统计分析:统计订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额。
- 调用绘图函数:根据需求调用了之前定义的绘图函数。
- 打印统计结果:将统计结果打印出来。
4.主程序入口:在 if __name__ == '__main__': 中指定了 CSV 文件路径,并调用 taobao_analysis(csv_path) 函数进行数据分析。
总的来说,代码通过 pandas 对淘宝订单数据进行处理和分析,并利用 matplotlib 生成相应的可视化图表,最后输出统计结果。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
三、代码展示
import pandas as pd import matplotlib.pyplot as plt def address_chart(df): # 代码略.... # 代码略.... # 代码略....> 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈 # 代码略.... # 代码略.... # 代码略.... def time_chart(df): df1 = df.copy() df1['paytime'] = df1['paytime'].dt.time df1['paytime'] = pd.to_datetime(df.paytime) # 代码略.... # 代码略.... # 代码略.... # 代码略.... # 代码略....> 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈 # 代码略.... timedf_y = timedf1.values plt.xticks(rotation=60) plt.plot(timedf_x, timedf_y) plt.show() def money_chart(df): # 代码略.... # 代码略.... # 代码略.... # 代码略.... # 代码略.... # 代码略.... def taobao_analysis(csv_path): df = pd.DataFrame(pd.read_csv(csv_path)) # 代码略.... # 代码略.... # 代码略.... # 代码略....> 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈 # 代码略.... # 代码略.... refund_sum = df.refund.sum() # 实际成交额 paymey = paid_sum - refund_sum # 买家地区饼图 # address_chart(df) # 支付金额时间分布 # time_chart(df) # 销售额走势 money_chart(df) print('订单数量:', order_num) print('退货订单数量:', refund_num) print('退货率:{}%'.format(refund_rate)) print('交易总金额:', amount_sum) print('成交总金额:', paid_sum) print('退款总金额:', refund_sum) print('实际成交额:', paymey) if __name__ == '__main__': csv_path = r'./data/tmall_order_report.csv' taobao_analysis(csv_path)
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈