👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【python】python淘宝交易数据分析可视化(源码+数据集)
目录
- 【python】python淘宝交易数据分析可视化(源码+数据集)
- 一、功能设计
- 二、设计思路
- 三、代码展示
一、功能设计
-
数据加载和预处理:
- 从指定的 CSV 文件中加载淘宝订单数据。
- 对数据进行列重命名和时间格式转换,以便后续处理和分析。
-
统计分析:
- 计算订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额等指标。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
-
可视化展示:
- 生成买家地区分布的饼图,展示不同地区的订单数量占比情况。
- 绘制订单支付时间的趋势图,展示每个时间段的订单数量变化情况。
- 绘制销售额的走势图,展示每天销售额的变化趋势。
-
结果输出:
- 将统计结果打印输出,包括订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
二、设计思路
是用于分析淘宝订单数据的脚本。让我们一步步分析其实现思路:
-
导入库:首先导入了
pandas
和matplotlib.pyplot
库,用于数据处理和绘图。 -
定义函数:
-
address_chart(df)
: 该函数用于生成买家地区的分布饼图。它首先对数据按照地址进行分组,统计每个地区的订单数量,然后利用matplotlib
绘制饼图。 -
time_chart(df)
: 该函数用于生成订单支付时间的趋势图。它首先对时间进行处理,将支付时间转换为时间格式,然后按照半小时为间隔对订单进行分组统计,并绘制趋势图。 -
money_chart(df)
: 该函数用于生成销售额的走势图。它对订单创建时间进行处理,按照每天进行销售额统计,并绘制销售额的趋势图。
-
-
主函数
taobao_analysis(csv_path)
:-
读取 CSV 文件数据,使用
pd.read_csv()
方法读取数据,并对列进行重命名以方便处理。 -
数据处理:将时间列转换为日期时间格式。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈
-
统计分析:统计订单数量、退货订单数量、退货率、交易总金额、成交总金额、退款总金额和实际成交额。
-
调用绘图函数:根据需求调用了之前定义的绘图函数。
-
打印统计结果:将统计结果打印出来。
-
-
主程序入口:在
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)
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “交易” 获取。👈👈👈