1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        送5本新出版Python數(shù)據(jù)分析書籍

        共 4756字,需瀏覽 10分鐘

         ·

        2022-06-21 09:35


        文末送書!



        利用可視化探索圖表





        一、數(shù)據(jù)可視化與探索圖
              數(shù)據(jù)可視化是指用圖形或表格的方式來呈現(xiàn)數(shù)據(jù)。圖表能夠清楚地呈現(xiàn)數(shù)據(jù)性質(zhì), 以及數(shù)據(jù)間或?qū)傩蚤g的關(guān)系,可以輕易地讓人看圖釋義。用戶通過探索圖(Exploratory Graph)可以了解數(shù)據(jù)的特性、尋找數(shù)據(jù)的趨勢、降低數(shù)據(jù)的理解門檻。
        二、常見的圖表實例
              本章主要采用 Pandas 的方式來畫圖,而不是使用 Matplotlib 模塊。其實 Pandas 已經(jīng)把 Matplotlib 的畫圖方法整合到 DataFrame 中,因此在實際應(yīng)用中,用戶不需要直接引用 Matplotlib 也可以完成畫圖的工作。

        1.折線圖
              折線圖(line chart)是最基本的圖表,可以用來呈現(xiàn)不同欄位連續(xù)數(shù)據(jù)之間的關(guān)系。繪制折線圖使用的是 plot.line() 的方法,可以設(shè)置顏色、形狀等參數(shù)。在使用上,拆線圖繪制方法完全繼承了 Matplotlib 的用法,所以程序最后也必須調(diào)用 plt.show() 產(chǎn)生圖,如圖8.4 所示。
        df_iris[['sepal length (cm)']].plot.line() 
        plt.show()
        ax = df[['sepal length (cm)']].plot.line(color='green',title="Demo",style='--'
        ax.set(xlabel="index", ylabel="length")
        plt.show()




        2.散布圖
             散布圖(Scatter Chart)用于檢視不同欄位離散數(shù)據(jù)之間的關(guān)系。繪制散布圖使用的是 df.plot.scatter(),如圖8.5所示。
        df = df_iris
        df.plot.scatter(x='sepal length (cm)', y='sepal width (cm)')

        from matplotlib import cm 
        cmap = cm.get_cmap('Spectral')
        df.plot.scatter(x='sepal length (cm)',
                  y='sepal width (cm)'
                  s=df[['petal length (cm)']]*20
                  c=df['target'],
                  cmap=cmap,
                  title='different circle size by petal length (cm)')


        3.直方圖、長條圖
             直方圖(Histogram Chart)通常用于同一欄位,呈現(xiàn)連續(xù)數(shù)據(jù)的分布狀況,與直方圖類似的另一種圖是長條圖(Bar Chart),用于檢視同一欄位,如圖 8.6 所示。
        df[['sepal length (cm)''sepal width (cm)''petal length (cm)','petal width (cm)']].plot.hist()
        2 df.target.value_counts().plot.bar()




        4. 圓餅圖、箱形圖
              圓餅圖(Pie Chart)可以用于檢視同一欄位各類別所占的比例,而箱形圖(Box Chart)則用于檢視同一欄位或比較不同欄位數(shù)據(jù)的分布差異,如圖 8.7 所示。
        df.target.value_counts().plot.pie(legend=True)
        df.boxplot(column=['target'],?gsize=(10,5))


        數(shù)據(jù)探索實戰(zhàn)分享



                  
             本節(jié)利用兩個真實的數(shù)據(jù)集實際展示數(shù)據(jù)探索的幾種手法。

        一、2013年美國社區(qū)調(diào)查
              在美國社區(qū)調(diào)查(American Community Survey)中,每年約有 350 萬個家庭被問到關(guān)于他們是誰及他們?nèi)绾紊畹脑敿?xì)問題。調(diào)查的內(nèi)容涵蓋了許多主題,包括祖先、教育、工作、交通、互聯(lián)網(wǎng)使用和居住。
              數(shù)據(jù)來源:https://www.kaggle.com/census/2013-american-community-survey。
                數(shù)據(jù)名稱:2013 American Community Survey。
               先觀察數(shù)據(jù)的樣子與特性,以及每個欄位代表的意義、種類和范圍。
        # 讀取數(shù)據(jù)
        df = pd.read_csv("./ss13husa.csv")
        # 欄位種類數(shù)量
        df.shape
        # (756065,231)

        # 欄位數(shù)值范圍
        df.describe()

              先將兩個 ss13pusa.csv 串連起來,這份數(shù)據(jù)總共包含 30 萬筆數(shù)據(jù),3 個欄位:SCHL ( 學(xué)歷,School Level)、 PINCP ( 收入,Income) 和 ESR ( 工作狀態(tài),Work Status)。
        pusa = pd.read_csv("ss13pusa.csv") pusb = pd.read_csv("ss13pusb.csv")
        # 串接兩份數(shù)據(jù)
        col = ['SCHL','PINCP','ESR']
        df['ac_survey'] = pd.concat([pusa[col],pusb[col],axis=0)

              依據(jù)學(xué)歷對數(shù)據(jù)進(jìn)行分群,觀察不同學(xué)歷的數(shù)量比例,接著計算他們的平均收入。
        group = df['ac_survey'].groupby(by=['SCHL']) print('學(xué)歷分布:' + group.size())
        group = ac_survey.groupby(by=['SCHL']) print('平均收入:' +group.mean())

        二、波士頓房屋數(shù)據(jù)集
              波士頓房屋數(shù)據(jù)集(Boston House Price Dataset)包含有關(guān)波士頓地區(qū)的房屋信息, 包 506 個數(shù)據(jù)樣本和 13 個特征維度。
             數(shù)據(jù)來源:https://archive.ics.uci.edu/ml/machine-learning-databases/housing/。
               數(shù)據(jù)名稱:Boston House Price Dataset。
             先觀察數(shù)據(jù)的樣子與特性,以及每個欄位代表的意義、種類和范圍。
             可以用直方圖的方式畫出房價(MEDV)的分布,如圖 8.8 所示。
        df = pd.read_csv("./housing.data")
        # 欄位種類數(shù)量
        df.shape
        # (506, 14)

        #欄位數(shù)值范圍df.describe()
        import matplotlib.pyplot as plt 
        df[['MEDV']].plot.hist() 
        plt.show()


        注:圖中英文對應(yīng)筆者在代碼中或數(shù)據(jù)中指定的名字,實踐中讀者可將它們替換成自己需要的文字。
             接下來需要知道的是哪些維度與“房價”關(guān)系明顯。先用散布圖的方式來觀察,如圖8.9所示。
        # draw scatter chart 
        df.plot.scatter(x='MEDV', y='RM') .
        plt.show()


              最后,計算相關(guān)系數(shù)并用聚類熱圖(Heatmap)來進(jìn)行視覺呈現(xiàn),如圖 8.10 所示。
        # compute pearson correlation 
        corr = df.corr()
        # draw  heatmap 
        import seaborn as sns 
        corr = df.corr() 
        sns.heatmap(corr) 
        plt.show()


              顏色為紅色,表示正向關(guān)系;顏色為藍(lán)色,表示負(fù)向關(guān)系;顏色為白色,表示沒有關(guān)系。RM 與房價關(guān)聯(lián)度偏向紅色,為正向關(guān)系;LSTAT、PTRATIO 與房價關(guān)聯(lián)度偏向深藍(lán), 為負(fù)向關(guān)系;CRIM、RAD、AGE 與房價關(guān)聯(lián)度偏向白色,為沒有關(guān)系。
              聲明:本文選自清華大學(xué)出版社的《深入淺出python數(shù)據(jù)分析》一書,略有修改,經(jīng)出版社授權(quán)刊登于此。


        內(nèi)容簡介:本書將從基礎(chǔ)的 Python 編程開始,以數(shù)據(jù)分析的流程為主軸一步一步地解析,然后展開介紹數(shù)據(jù)收集、數(shù)據(jù)前處理、特征工程、探索式分析等。本書系統(tǒng)性地從函數(shù)庫開始學(xué)習(xí),并拓展到不同的應(yīng)用場景。本書實用性強(qiáng),提供數(shù)據(jù)分析所必需的編程技能的培訓(xùn),以及常見第三方軟件和庫的使用方法;以數(shù)據(jù)科學(xué)家、數(shù)據(jù)分析師等數(shù)據(jù)應(yīng)用工作的實踐經(jīng)驗作為培養(yǎng)目標(biāo),適合對 Python與數(shù)據(jù)分析有興趣的人閱讀。



        粉絲福利


        點擊上方名片,后臺回復(fù)【數(shù)據(jù)分析】進(jìn)行抽獎

        峰哥送5本《深入淺出Python數(shù)據(jù)分析

        瀏覽 44
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            色天天天 | 青娱乐休闲视频在线观看 | 国产91 对白在线播放 | 黄色国产免费观看 | 亚洲成人网站在线看 | 草大逼视频 | 办公室激情吃奶吻胸视频 | 国产寡妇亲子伦一区二区三区四区 | 老师的水好多 | 成人视频在线观看高清无码网站免费 |