国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Pyhton基礎(chǔ)知識:整理18 -> 基于面向?qū)ο蟮闹R完成數(shù)據(jù)分析的案例開發(fā)

這篇具有很好參考價值的文章主要介紹了Pyhton基礎(chǔ)知識:整理18 -> 基于面向?qū)ο蟮闹R完成數(shù)據(jù)分析的案例開發(fā)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數(shù)據(jù)準備:兩份數(shù)據(jù),一份是是字符串的形式,一份是json格式,之后對數(shù)據(jù)處理后,需要合并為一份的數(shù)據(jù),進而進行圖表的開發(fā)

?Pyhton基礎(chǔ)知識:整理18 -> 基于面向?qū)ο蟮闹R完成數(shù)據(jù)分析的案例開發(fā),Python,python,數(shù)據(jù)分析,信息可視化

?

1?設(shè)計一個類,完成對數(shù)據(jù)的封裝

"""
    數(shù)據(jù)定義的類
"""
class Record:
    date = None   # 訂單日期
    order_id = None   # 訂單id
    money = None    # 訂單金額
    province = None   # 銷售地區(qū)

    def __init__(self, date, order_id, money, province):
        self.date = date
        self.order_id = order_id
        self.money = money
        self.province = province

    def __str__(self):
        return f"date: {self.date}, order_id: {self.order_id}, money: {self.money}, province: {self.province}"

2?設(shè)計一個抽象類,定義文件讀取的相關(guān)功能,并使用子類實現(xiàn)具體的功能

"""
和文件相關(guān)的類定義
"""

from data_defined import Record
import json


# 先定義一個抽象類來做頂層設(shè)計,確定有哪些功能需要實現(xiàn)
class FileReader:
    def read_data(self):
        """讀取文件的數(shù)據(jù),讀到的每一條數(shù)據(jù)都轉(zhuǎn)換為Record對象,將它們都封裝到list內(nèi),返回即可"""
        pass


# 子類1
class TextFileReader(FileReader):
    def __init__(self, path):
        self.path = path  # 定義成員變量,記錄文件的路徑

    # 復寫父類的方法(實現(xiàn)抽象方法)
    def read_data(self):
        """讀取文本文件的數(shù)據(jù)"""
        fr1 = open(self.path, 'r', encoding="UTF-8")
        lines = fr1.readlines()
        fr1.close()
        record_list: list[Record] = []
        for line in lines:
            line = line.strip("\n")  # 去掉換行符
            data_ls = line.split(",")
            # print(data_ls)

            record = Record(data_ls[0], data_ls[1], int(data_ls[2]), data_ls[3])

            record_list.append(record)
        return record_list


# 子類2
class JsonFileReader(FileReader):
    def __init__(self, path):
        self.path = path  # 定義成員變量,記錄文件的路徑

    # 復寫父類的方法(實現(xiàn)抽象方法)
    def read_data(self):
        """讀取json文件的數(shù)據(jù)"""
        fr2 = open(self.path, "r", encoding="UTF-8")
        lines = fr2.readlines()
        fr2.close()
        record_list: list[Record] = []
        for line in lines:
            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)
        return record_list

3 數(shù)據(jù)處理

from file_defined import FileReader, TextFileReader, JsonFileReader
from data_defined import Record

text_file_reader = TextFileReader("D:/PyCharm_projects/python_study_projects/text/2011年1月銷售數(shù)據(jù).txt")
data1 = text_file_reader.read_data()

json_file_reader = JsonFileReader("D:/PyCharm_projects/python_study_projects/text/2011年2月銷售數(shù)據(jù)JSON.txt")
data2 = json_file_reader.read_data()
# print(type(data2))   # list
print(data2)

# 將2個月份的數(shù)據(jù)合并為1個list
all_data = data1 + data2

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
print(data_dict)

?

4 可視化圖表開發(fā)

from pyecharts.charts import Bar
from pyecharts.options import *
from pyecharts.globals import ThemeType

# 可視化圖表開發(fā)
bar = Bar(init_opts=InitOpts(theme=ThemeType.LIGHT))   # 設(shè)置主題

bar.add_xaxis(list(data_dict.keys()))  # 添加 x 軸的數(shù)據(jù)
bar.add_yaxis("銷售額", list(data_dict.values()), label_opts=LabelOpts(is_show=False))   # 添加 y 軸的數(shù)據(jù), is_show=False表示不展示數(shù)據(jù)

bar.set_global_opts(
    title_opts=TitleOpts(title="2011年1月-2月銷售數(shù)據(jù)", pos_left="center", pos_top="5%")
)

bar.render("D:/PyCharm_projects/python_study_projects/modules/bar_sale_chart.html")

Pyhton基礎(chǔ)知識:整理18 -> 基于面向?qū)ο蟮闹R完成數(shù)據(jù)分析的案例開發(fā),Python,python,數(shù)據(jù)分析,信息可視化文章來源地址http://www.zghlxwxcb.cn/news/detail-797174.html

到了這里,關(guān)于Pyhton基礎(chǔ)知識:整理18 -> 基于面向?qū)ο蟮闹R完成數(shù)據(jù)分析的案例開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java 學習路線:基礎(chǔ)知識、數(shù)據(jù)類型、條件語句、函數(shù)、循環(huán)、異常處理、數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο缶幊?、包、文件?API

    Java 是一種由 Sun Microsystems 于 1995 年首次發(fā)布的編程語言和計算平臺。Java 是一種通用的、基于類的、面向?qū)ο蟮木幊陶Z言,旨在減少實現(xiàn)依賴性。它是一個應(yīng)用程序開發(fā)的計算平臺。Java 快速、安全、可靠,因此在筆記本電腦、數(shù)據(jù)中心、游戲機、科學超級計算機、手機等領(lǐng)

    2024年03月24日
    瀏覽(39)
  • Elasticsearch的基礎(chǔ)知識和架構(gòu)設(shè)計,以及一些常用的功能——面向?qū)ο缶幊毯蛿?shù)據(jù)結(jié)構(gòu)的高級應(yīng)用場景,以及相應(yīng)的代碼實現(xiàn)方法和工具

    作者:禪與計算機程序設(shè)計藝術(shù) 2019年,Elasticsearch正式發(fā)布了7.0版本。在這個版本更新中,新增了許多新特性和功能,包括全文搜索、分類聚合、分析器、圖形化數(shù)據(jù)可視化等。無論對于企業(yè)或個人來說,都意味著更好的應(yīng)用場景。但是,掌握Elasticsearch并非易事,需要不斷學

    2024年02月07日
    瀏覽(17)
  • 軟件工程——第12章面向?qū)ο髮崿F(xiàn)知識點整理

    軟件工程——第12章面向?qū)ο髮崿F(xiàn)知識點整理

    本專欄是博主個人筆記,主要目的是利用碎片化的時間來記憶軟工知識點,特此聲明! 1. 面向?qū)ο笳Z言技術(shù)的特點?

    2024年02月15日
    瀏覽(27)
  • 軟件工程——第9章面向?qū)ο蠓椒▽W引論知識點整理

    軟件工程——第9章面向?qū)ο蠓椒▽W引論知識點整理

    本專欄是博主個人筆記,主要目的是利用碎片化的時間來記憶軟工知識點,特此聲明! 1.當前最好的軟件開發(fā)技術(shù)是? 2.面向?qū)ο蟮脑瓌t是什么?

    2024年02月13日
    瀏覽(23)
  • Python基礎(chǔ)知識:整理10 異常相關(guān)知識

    Python基礎(chǔ)知識:整理10 異常相關(guān)知識

    ? ? 當在主函數(shù)中沒有捕獲處理異常時,會報異常錯誤 處理后? ?

    2024年01月18日
    瀏覽(34)
  • DFT基礎(chǔ)知識整理

    DFT基礎(chǔ)知識整理

    站在一個IC前端設(shè)計人員的角度學習DFT基礎(chǔ)知識,概念。 · 驗證和測試的區(qū)別。 驗證主要是確認功能,時序是否滿足要求,一般在仿真環(huán)境中,輸入激勵,分析響應(yīng)。根據(jù)驗證階段可以分為功能仿真,門級仿真,版圖后仿真。 然而在芯片制造過程中,受到各種不確定因素的

    2024年02月13日
    瀏覽(21)
  • 深度學習基礎(chǔ)知識整理

    Auto-encoders是一種人工神經(jīng)網(wǎng)絡(luò),用于學習未標記數(shù)據(jù)的有效編碼。它由兩個部分組成:編碼器和解碼器。編碼器將輸入數(shù)據(jù)轉(zhuǎn)換為一種更緊湊的表示形式,而解碼器則將該表示形式轉(zhuǎn)換回原始數(shù)據(jù)。這種方法可以用于降維,去噪,特征提取和生成模型。 自編碼器的訓練過程

    2024年01月17日
    瀏覽(25)
  • MySQL數(shù)據(jù)庫基礎(chǔ)知識,基礎(chǔ)操作詳細整理

    MySQL數(shù)據(jù)庫基礎(chǔ)知識,基礎(chǔ)操作詳細整理

    引入: 淘寶網(wǎng),京東、微信,抖音等都有各自的功能,那么當我們退出系統(tǒng)的時候,下次再訪問時,為什么信息還存在? 數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。 每個數(shù)據(jù)庫都有一個或多個不同的 API 用于創(chuàng)建,訪問,管理,搜索和復制所保存的數(shù)

    2024年04月17日
    瀏覽(30)
  • CSP-S初賽基礎(chǔ)知識整理

    持續(xù)更新中 關(guān)于部分 l a t e x latex l a t e x 在 csdn 不能很好的顯示,更好的閱讀體驗。 計算機系統(tǒng)的組成 硬件系統(tǒng)和軟件系統(tǒng)。 計算機硬件的五大組成 控制器、運算器、存儲器、輸入設(shè)備和輸出設(shè)備。 [1-2]二進制 [1]基本定義及應(yīng)用 逢二進一。后綴為 B texttt{B} B 。 是計算機

    2024年02月09日
    瀏覽(19)
  • 軟件測試基礎(chǔ)知識整理(八)- 軟件缺陷

    軟件測試基礎(chǔ)知識整理(八)- 軟件缺陷

    目錄 一、軟件缺陷 1.1 缺陷定義 1.2 缺陷判定標準 1.3 軟件缺陷產(chǎn)生的原因 1.4 軟件缺陷產(chǎn)生的根源 1.5 軟件缺陷信息 ?1.5.1?缺陷狀態(tài) 1.5.2??缺陷嚴重程度 ?1.5.3?缺陷優(yōu)先級 1.6 缺陷報告模板 1.7 缺陷報告注意事項 1.8 缺陷跟蹤流程 1.9 缺陷數(shù)據(jù)分析關(guān)注的問題? 軟件或者程序中

    2024年02月06日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包