【python】python 电子产品销售分析可视化(数据集+源码)【独一无二】


👉博__主👈:米码收割机

👉技__能👈:C++/Python语言

👉公众号👈:测试开发自动化【获取源码+商业合作】

👉荣__誉👈:阿里云博客专家博主、51CTO技术博主

👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


python 电子产品销售分析可视化(数据集+源码)【独一无二】


目录

  • python 电子产品销售分析可视化(数据集+源码)【独一无二】
  • 一、设计要求
  • 二、代码分析
      • 导入库和配置
      • 显示初始数据
      • 简单条件查询
      • 计算列数据的添加
      • 添加一行新数据
      • 修改特定条件的数据
      • 数据删除操作
      • 数据排序处理
      • 分组统计查询
      • 数据可视化
      • 总结

一、设计要求

主要实现了对电子产品销售数据的读取、处理、分析和可视化。具体而言,代码从CSV文件中读取数据,并展示初始数据内容。随后,通过各种条件查询操作,筛选出符合特定条件的数据记录,如价格大于100元、品牌为Samsung等。代码还进行了数据的计算与处理,添加了价格含税列和年龄段列,修改了特定条件下的字段值,并删除了不必要的列。排序操作按价格和年龄对数据进行升序和降序排序。此外,代码还进行了分组统计分析,计算每个品牌的平均价格、各年龄段的订单数量以及各性别的总消费金额。最后,通过折线图、柱状图和饼状图等可视化手段,直观展示了前20条记录的价格变化、前30个品牌的价格占比以及按性别和年龄段分组的统计结果。这些操作共同实现了对销售数据的全面分析与可视化呈现,为进一步的市场分析和决策提供了数据支持。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈


二、代码分析

导入库和配置

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号

实现思路:

  1. 导入必要的库:pandas用于数据处理,matplotlib.pyplot用于数据可视化。
  2. 配置matplotlib以支持中文字符和负号的正常显示,确保在绘图时能够正确显示中文标签和负数。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

显示初始数据

print("初始数据内容:")
print(data.head())

初始数据内容: Unnamed: 0 event_time order_id

… age sex local 0 0 2020-04-24 11:50:39 UTC

2294359932054536986 … 24.0 女 海南 1 1 2020-04-24

11:50:39 UTC 2294359932054536986 … 24.0 女 海南 2 2

2020-04-24 14:37:43 UTC 2294444024058086220 … 38.0 女 北京 3

3 2020-04-24 14:37:43 UTC 2294444024058086220 … 38.0 女 北京

4 4 2020-04-24 19:16:21 UTC 2294584263154074236 … 32.0

女 广东

实现思路:

  1. 打印初始数据的前五条记录,以了解数据的基本结构和内容。

简单条件查询

price_gt_100 = data[data['price'] > 100]
print("价格大于100的记录:")
print(price_gt_100)

价格大于100的记录:

Unnamed: 0 event_time … sex local 0 0 2020-04-24 11:50:39 UTC … 女 海南 1 1

2020-04-24 11:50:39 UTC … 女 海南 4 4

2020-04-24 19:16:21 UTC … 女 广东 6 6

2020-04-26 09:33:47 UTC … 男 北京 7 7

2020-04-26 09:33:47 UTC … 男 北京 … …

… … … … 564160 2633512 2020-11-21 10:06:01 UTC …

女 北京 564162 2633514 2020-11-21 10:08:54 UTC … 女 上海

564163 2633515 2020-11-21 10:08:54 UTC … 女 上海 564164

2633516 2020-11-21 10:10:01 UTC … 男 上海 564165 2633517

2020-11-21 10:10:13 UTC … 女 北京

实现思路:

  1. 使用布尔索引查询price大于100的记录。
  2. 打印查询结果。

计算列数据的添加

data['price_with_tax'] = data['price'] * 1.10
print("添加税后价格的记录:")

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

添加税后价格的记录:

Unnamed: 0 event_time … local price_with_tax

0 0 2020-04-24 11:50:39 UTC … 海南 178.211

1 1 2020-04-24 11:50:39 UTC … 海南 178.211

2 2 2020-04-24 14:37:43 UTC … 北京 85.272

3 3 2020-04-24 14:37:43 UTC … 北京 85.272

4 4 2020-04-24 19:16:21 UTC … 广东 239.327

实现思路:

  1. 计算每条记录的价格加上10%的税费,并将结果存储在一个新列price_with_tax中。
  2. 打印更新后的数据。

添加一行新数据

new_data = { 'event_time': '2020-04-25 10:00:00 UTC',
    'order_id': 2.29460E+18,
    ...
}
data = data.append(new_data, ignore_index=True)

实现思路:

  1. 构造一条新数据,将其存储在一个字典中。
  2. 使用append方法将新数据添加到DataFrame中。

修改特定条件的数据

data.loc[data['category_code'].isnull(), 'category_code'] = 'unknown'
print("修改category_code为空后的记录:")

实现思路:

  1. 找出所有category_code为空的记录,并将其category_code修改为unknown。
  2. 打印更新后的数据。

数据删除操作

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

data = data.drop(columns=['local'])
print("删除'local'列后的记录:")

实现思路:

  1. 删除指定的列(如local),以简化数据结构。
  2. 打印更新后的数据。

数据排序处理

sorted_by_price = data.sort_values(by='price')
print("按价格升序排序后的记录:")

实现思路:

  1. 按照price列的值对数据进行升序排序。
  2. 打印排序后的数据。

分组统计查询

mean_price_by_brand = data.groupby('brand')['price'].mean()
print("按品牌分组的平均价格:")

实现思路:

  1. 按brand分组,计算每个品牌的平均价格。
  2. 打印分组后的统计结果。

数据可视化

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

plt.figure(figsize=(10, 6))
plt.plot(indices, prices, marker='o', linestyle='-', color='b')

折线图用于显示前20条记录的价格变化趋势。代码通过提取数据的前20条记录并获取其索引和价格,然后使用matplotlib的plot函数绘制折线图。在图表中,设置了图表的大小、标题、标签,并添加了网格线以便于观察数据点的变化。折线图清晰地展示了不同记录的价格走势,适合用来分析短期内价格的波动情况。

柱状图则用于展示前20条记录的价格分布情况。通过类似的方式提取前20条记录的价格数据,然后使用matplotlib的bar函数绘制柱状图。柱状图直观地显示了每条记录的价格差异,帮助识别高价和低价产品的数量及其价格区间。图表同样设置了标题和标签,便于理解图表的内容。柱状图可以很好地用于比较不同记录的价格,并在价格分析中提供清晰的视觉参考。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

最后,饼状图用于展示前30个品牌的总价格占比。代码首先计算每个品牌的总价格,并选取前30个品牌的数据。然后使用matplotlib的pie函数绘制饼状图。通过饼状图,可以直观地看到各品牌在总价格中的占比,帮助分析哪些品牌占据了主要的市场份额。饼状图设置了标签和百分比显示,增强了数据的可读性和直观性。整体而言,这些可视化图表通过不同的方式展示了销售数据的特征和统计结果,为数据分析提供了丰富的视觉支持,便于更深入地理解和挖掘数据中的信息。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈

实现思路:

  1. 设置绘图的画布大小。
  2. 绘制折线图,显示前20条记录的价格变化情况。

总结

通过一系列步骤实现了电子产品销售数据的读取、处理和可视化分析。每个步骤都有明确的目的,从数据的读取和初步展示,到各种条件查询、数据处理,再到详细的分组统计和可视化,整个流程设计清晰、逻辑严谨,能够有效地对电子产品销售数据进行全面分析。

👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “电子产品” 获取。👈👈👈