python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)

这篇具有很好参考价值的文章主要介绍了python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

面向对象数据分析案例(每日销售额柱状图数据可视化)
使用工具: Pycharm、面向对象、json模块、pyecharts模块等
实现步骤: 读取数据–封装数据对象–计算数据对象–pyechars绘图
(项目数据见文章末参考内容)
python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)
解析思路是通过定义三个Python文件,各文件功能如下:

  • data_define.py:通过定义数据存储类,用来存储基本的数据类以待使用
  • file_define.py:通过定义文件处理类,抽象类约束,具体类用来实现文本文件、json文件的读取
  • main.py:主文件,实现具体的数据处理,乃至之后的可视化

python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)
data_define.py内置代码:

"""
数据定义的类
"""


class Record:

    def __init__(self, date, order_id, money, province):
        self.date = date  # 订单日期
        self.order_id = order_id  # 订单ID
        self.money = money  # 订单金额
        self.province = province  # 销售省份

    def __str__(self):
        return f"record对象内的数据包括,订单日期:{self.date};订单ID:{self.order_id};订单金额:{self.money};销售省份:{self.province}"

file_define.py内置代码:

"""
和文件相关的类定义
"""

from data_define import Record
import json


# 定义一个抽象类用来做 顶层设计,确定有哪些功能需要实现
class FileReader:
    def read_data(self) -> list[Record]:
        """读取文件的数据,读到的每一条数据都转换为Record对象,将它们都封装到list内返回即可"""
        pass

# 文本文件读取的具体实现
class TextFileReader(FileReader):
    def __init__(self, path):
        self.path = path  # 定义成员变量记录文件的路径

    # 复写(实现抽象方法)父类的方法
    def read_data(self) -> list[Record]:
        record_list: list[Record] = []
        f = open(self.path, "r", encoding="UTF-8")
        for line in f.readlines():
            line = line.strip("\n")
            data_list = line.split(",")
            record = Record(data_list[0], data_list[1], int(data_list[2]), data_list[3])
            record_list.append(record)
        f.close()
        return record_list

# json文件读取的具体实现
class JsonFileReader(FileReader):
    def __init__(self, path):
        self.path = path  # 定义成员变量记录文件的路径

    # 复写(实现抽象方法)父类的方法
    def read_data(self) -> list[Record]:
        record_list: list[Record] = []
        f = open(self.path, "r", encoding="UTF-8")
        for line in f.readlines():
            data_dict = json.loads(line)
            record = Record(data_dict["date"], data_dict["order_id"], int(data_dict["money"]), data_dict["province"])
            record_list.append(record)
        f.close()
        return record_list


if __name__ == '__main__':
    text_file_reader = TextFileReader("2011年1月销售数据.txt")
    json_file_reader = JsonFileReader("2011年2月销售数据JSON.txt")
    list1 = text_file_reader.read_data()
    list2 = json_file_reader.read_data()
    # for item in list1:
    #     print(item)
    for item in list2:
        print(item)

main.py内置代码:

"""
面向对象,数据分析案例,主业务逻辑代码
实现步骤:
    1.设计一个类,可以完成数据的封装
    2.设计一个抽象类,定义文件读取的相关功能,并使用子类实现具体功能
    3.读取文件,生产数据对象
    4.进行数据需求的逻辑计算(计算每一天的销售额)
    5.通过Pyecharts进行图形绘制
"""

from file_define import FileReader, TextFileReader, JsonFileReader
from data_define import Record
from pyecharts.charts import Bar
from pyecharts.options import *
from pyecharts.globals import ThemeType

text_file_reader = TextFileReader("2011年1月销售数据.txt")
json_file_reader = JsonFileReader("2011年2月销售数据JSON.txt")
jan_data: list[Record] = text_file_reader.read_data()
feb_data: list[Record] = json_file_reader.read_data()

# 将2个月份的数据合并为1个list来存储
all_data: list[Record] = jan_data + feb_data

# 开始进行数据计算
# 最终存储的格式为:{"2011-01-01": 1534, "2011-01-02": 300, "2011-01-03": 650}
data_dict = {}
for record in all_data:
    if record.date in data_dict.keys():
        # 当前日期已经有记录了,所以和老记录做累加即可
        data_dict[record.date] += record.money
    else:
        data_dict[record.date] = record.money

# 可视化图表开发
bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))
bar.add_xaxis(list(data_dict.keys()))  # 添加x轴的数据
bar.add_yaxis("销售额", list(data_dict.values()), label_opts=LabelOpts(is_show=False))  # 添加y轴的数据
bar.set_global_opts(
    title_opts=TitleOpts(title="每日销售额")
)
bar.render("每日销售额柱状图.html")

效果图如下:

python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)

参考内容:
项目数据(https://download.csdn.net/download/qq_45833373/87895996)
python语法-面向对象(类的基本使用)
python语法-数据可视化(全球GDP动态柱状图开发)
黑马程序员-python基础文章来源地址https://www.toymoban.com/news/detail-479889.html

到了这里,关于python语法-面向对象数据分析案例(每日销售额柱状图数据可视化)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python基础语法:数据分析利器

    ⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者: 秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们 点赞👍🏻、收藏

    2024年02月09日
    浏览(20)
  • 【Python爬虫与数据分析】进阶语法

    目录 一、异常捕获 二、迭代器 三、拆包、聚合、映射 四、filter() 函数 五、匿名函数 六、闭包 七、装饰器 异常捕获可增强程序的健壮性,即程序在遇到遇到异常的时候并不会做中断处理,而是会将异常抛出,由程序员来分析异常和做异常处理。 迭代器通常用于数据结构对

    2024年02月12日
    浏览(26)
  • 【Python爬虫与数据分析】初阶语法

    目录 一、数据类型 二、输入输出 三、算术运算 四、逻辑与条件判断 五、循环控制 六、函数 Python的数据类型分为 常量 、 数值变量 、 字符串变量 、 布尔变量 (True、False) 常量可以直接参与运算与赋值, 变量无需声明可直接定义 整型与浮点型数值可以直接相互运算 ,整

    2024年02月11日
    浏览(21)
  • python数据分析案例——天猫订单综合分析

    前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析 明确目的–获得数据(爬虫,现有,公开的数据)–数据预处理——数据可视化——结论 准备 环境使用: 在开始写我们的代码之前,我们要准备好运行代码的程序 Anaconda (python3.9) – 识别我们写的代码 开发工

    2024年02月03日
    浏览(19)
  • Python数据分析项目案例

    第一部分:数据类型处理 数据加载 字段含义: user_id:用户ID order_dt:购买日期 order_product:购买产品的数量 order_amount:购买金额 观察数据 查看数据的数据类型 数据中是否存储在缺失值 将order_dt转换成时间类型 查看数据的统计描述 在源数据中添加一列表示月份:astype(\\\'datetime64[M

    2024年02月11日
    浏览(25)
  • Python数据分析案例20——我国家庭资产影响因素分析

    本次案例较为简单,符合人文社科、经济学管理学等专业本科生适用。 本文的数据来源于 中国家庭金融调查( China Household Finance Survey , CHFS )是西南财经大学中国家庭金融调查与研究中心(下称中心)在全国范围内开展的抽样调查项目,由甘犁教授于 2009 年发起并领导,收

    2024年02月09日
    浏览(19)
  • 【Python数据分析案例】——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

    案例背景 最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少… 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获取数据: 数据获取 导入包 传入网

    2024年01月20日
    浏览(56)
  • Python数据分析案例12——网飞影视剧数据分析及其可视化

    Netflix是最受欢迎的媒体和视频流平台之一。他们的平台上有超过 8000 部电影或电视节目。截至 2021 年年中,他们在全球拥有超过 2 亿订阅者。 博主看美剧也较为多,像《怪奇物语》、《性爱自修室》等高分美剧都是网飞的。 对于网飞的影视剧,我们可以分析其电影和电视剧

    2024年02月08日
    浏览(26)
  • 【python基础语法十】面向对象

    对类中成员属性和方法的保护,控制外界对内部成员的访问,修改,删除等操作 对象的操作 类的操作 如何在类外访问私有成员 使用类对象删除相应的成员 单继承 多继承 菱形继承 (钻石继承) 内置函数 issubclass 与 isinstance issubclass 判断类的子父关系(应用在类与类之间) isinstance 判

    2024年02月02日
    浏览(17)
  • Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

    最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 不会爬虫的同学要这代码演示数据可以参考:数据   首先爬虫

    2024年02月08日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包