开发者

Python面向对象实现数据分析的实例详解

开发者 https://www.devze.com 2023-01-04 09:36 出处:网络 作者: 阳862
目录案例需求分析实现步骤代码实例1实例2实例3可视化数据集案例 某公司,有2份数据文件,现需要对其进行分析处理,计算每日的销售额并以柱状图表的形式进行展示。
目录
  • 案例
  • 需求分析
  • 实现步骤
  • 代码
    • 实例1
    • 实例2
    • 实例3
  • 可视化
    • 数据集

      案例

      某公司,有2份数据文件,现需要对其进行分析处理,计算每日的销售额并以柱状图表的形式进行展示。

      Python面向对象实现数据分析的实例详解

       

      Python面向对象实现数据分析的实例详解

      Python面向对象实现数据分析的实例详解

      需求分析

      Python面向对象实现数据分析的实例详解

      实现步骤

      • 设计一个类,可以完成数据的封装
      • 设计一个抽象类,定义文件读取的相关功能,并使用子类实现具体功能
      • 读取文件,生产数据对象
      • 进行数据需求的逻辑计算(计算每一天的销售额)
      • 通过PyEcharts进行图形绘制

      代码

      实例1

      """
      数据定义的类
      """
       
      class Record:
          def __init__(self,data,order_id,money,province):
              self.data=data
              self.order_id=order_id
              self.money=money
              self.province=province
          def __str__(self):
              retjsurn f"{seandroidlf.data},{self.order_id},{self.money},{self.province}"

      Python面向对象实现数据分析的实例详解

      实例2

      """
      和文件相关的类定义
      """
      import json
       
      from data_define import Record
       
      class FileReader:
          def read_data(self):
              #读取文件的数据,读取到的每一条数据都转换为Record对象,将它们都封装到list内返回即可
              pass
       
      class TextFileReader(FileReader):
          def __init__(self,path):
              self.path=path
          #复写(实现抽象方法)父类的方法
          def read_data(self):
              f=open(self.path,"r",encoding="utf-8")
              record_list=[]
              for line in f.readlines():
                  line=line.strip()#消除读取到的每一行数据中的“\n”
                  data_list=line.split(",")
                  record=Record(data_list[0],data_list[1],int(data_list[2php]),data_list[3])
                  record_list.append(record)
              f.close()
              return record_list
       
       
      class JsonFileReader(FileR开发者_自学开发eader):
          def __init__(self,path):
              self.path=path
          #复写(实现抽象方法)父类的方法
          def read_data(self):
              f=open(self.path,"r",encoding="utf-8")
              record_list=[]
              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_javascriptlist
       
       
      if __name__ == '__main__':
          text_file_reader=TextFileReader("D:/2011年1月销售数据.txt")
          list1=text_file_reader.read_data()
          for l in list1:
              print(l)
          print("========================================================================")
          json_file_reader=JsonFileReader("D:/2011年2月销售数据JSON.txt")
          list2=json_file_reader.read_data()
          for l in list2:
              print(l)

      Python面向对象实现数据分析的实例详解

      实例3

      from pyecharts.charts import Bar
      from pyecharts.oandroidptions import *
      from pyecharts.globals import *
       
      from file_define import FileReader,TextFileReader,JsonFileReader
      from data_define import Record
       
      text_file_reader=TextFileReader("D:/2011年1月销售数据.txt")
      json_file_reader=JsonFileReader("D:/2011年2月销售数据JSON.txt")
       
      jan_data=text_file_reader.read_data()
      feb_data=json_file_reader.read_data()
       
      all_data:list[Record]=jan_data+feb_data
       
      #开始进行数据计算
      data_dict={}
      for record in all_data:
          if record.data in data_dict.keys():
              data_dict[record.data]+=record.money
          else:
              data_dict[record.data]=record.money
       
       
      #可视化
      bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))
      bar.add_xaxis(list(data_dict.keys()))
      bar.add_yaxis("销售额",list(data_dict.values()),label_opts=LabelOpts(is_show=False))
      bar.set_global_opts(
          title_opts=TitleOpts(title="每日销售额")
      )
      bar.render("每日销售额柱状图.html")

       

      Python面向对象实现数据分析的实例详解

      可视化

      Python面向对象实现数据分析的实例详解

      数据集

      链接:https://pan.baidu.com/s/1P3n-gvooVvmHEPak-xmkKg

      提取码:hxvn

      到此这篇关于python面向对象实现数据分析的实例详解的文章就介绍到这了,更多相关Python数据分析内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消

      关注公众号