版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第15章
數(shù)據(jù)分析與可視化數(shù)據(jù)分析與可視化01.數(shù)據(jù)分析概念03.數(shù)據(jù)可視化02.相關(guān)技術(shù)介紹04.綜合案例主要內(nèi)容1數(shù)據(jù)分析概念數(shù)據(jù)分析數(shù)據(jù)分析是通過對(duì)收集到的大量數(shù)據(jù)進(jìn)行適當(dāng)分析,提取有用信息,最終形成相關(guān)結(jié)論數(shù)據(jù)分析可以幫助用戶對(duì)數(shù)據(jù)進(jìn)行梳理,并根據(jù)根據(jù)結(jié)論做出相應(yīng)處理數(shù)據(jù)分析實(shí)例二手房數(shù)據(jù)分析淘寶銷售數(shù)據(jù)分析2相關(guān)技術(shù)介紹數(shù)據(jù)分析NumPy庫(kù)Pandas庫(kù)Matplotlib庫(kù)numpy庫(kù)創(chuàng)建數(shù)組常用屬性常用方法元素訪問常用統(tǒng)計(jì)函數(shù)numpy庫(kù)numpy是Python語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),支持大量的維度數(shù)組與矩陣運(yùn)算,并且針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫(kù)importnumpyasnpnumpy庫(kù)numpy中最重要的對(duì)象是多維數(shù)組(ndarray)ndarray:存儲(chǔ)單一數(shù)據(jù)類型的N維數(shù)組對(duì)象,與list不同,其存儲(chǔ)數(shù)據(jù)類型必須相同ndarray數(shù)組的索引下標(biāo)從0開始numpy庫(kù)創(chuàng)建ndarray數(shù)組array(object,dtype=None)object:數(shù)組或數(shù)列dtype:數(shù)組元素的數(shù)據(jù)類型data=np.array([1,2,3,4,5])#創(chuàng)建一個(gè)包含五個(gè)元素的一維數(shù)組numpy庫(kù)【例15.1】創(chuàng)建數(shù)組對(duì)象numpy庫(kù)【例15.2】創(chuàng)建數(shù)組對(duì)象,指定元素的數(shù)據(jù)類型numpy庫(kù)ndarray對(duì)象常用屬性屬性說(shuō)明ndarray.ndim秩,即軸的數(shù)量或維度的數(shù)量ndarray.shape數(shù)組的維度,對(duì)于矩陣,n行m列ndarray.size數(shù)組元素的總個(gè)數(shù),相當(dāng)于.shape中n*m的值ndarray.dtypendarray對(duì)象的元素類型numpy庫(kù)【例15.3】ndarray對(duì)象常用屬性numpy庫(kù)ndarray對(duì)象常用方法方法說(shuō)明arange類似range,一定范圍內(nèi)固定間隔的數(shù)字ones值全為1的ndarrayzeros值全為0的ndarrayempty值未初始化的ndarrayasarray從序列類型數(shù)據(jù)創(chuàng)建ndarrayreshape重新分配維度,但不改變?cè)衝darrayresize重新分配維度,且改變?cè)衝darraynumpy庫(kù)【例15.4】ndarray對(duì)象常用方法numpy庫(kù)ndarray對(duì)象元素訪問一維數(shù)組訪問方式與list相同多維數(shù)組訪問方式:每個(gè)維度索引之間用逗號(hào)分割numpy庫(kù)【例15.5】訪問ndarray對(duì)象中的元素numpy庫(kù)numpy常用統(tǒng)計(jì)函數(shù)函數(shù)說(shuō)明sum求和mean求平均值min求最小值max求最大值std求標(biāo)準(zhǔn)差var求方差numpy庫(kù)【例15.6】常用統(tǒng)計(jì)函數(shù)pandas庫(kù)Series結(jié)構(gòu)和DataFrame結(jié)構(gòu)讀取和保存CSV文件數(shù)據(jù)基本操作pandas庫(kù)pandas是Python語(yǔ)言的一個(gè)擴(kuò)展程序庫(kù),用于數(shù)據(jù)分析pandas是基于numpy的工具pandas提供了大量函數(shù)和方法可用于數(shù)據(jù)分析importpandasaspdpandas庫(kù)pandas提供了兩種數(shù)據(jù)結(jié)構(gòu):Series結(jié)構(gòu)(一維數(shù)據(jù))DataFrame結(jié)構(gòu)(二維數(shù)據(jù))pandas庫(kù)Series結(jié)構(gòu)也稱Series序列,類似于一維數(shù)組,由索引和數(shù)據(jù)值組成索引值數(shù)據(jù)類型pandas庫(kù)創(chuàng)建SeriesSeries(data,index,dtype)data:輸入的數(shù)據(jù),可以是列表、常量、ndarray數(shù)組index:索引標(biāo)簽值,數(shù)字或字符,默認(rèn)為從0開始的整數(shù)dtype:數(shù)據(jù)類型,默認(rèn)系統(tǒng)會(huì)根據(jù)獲得的值自動(dòng)指定pandas庫(kù)【例15.7】創(chuàng)建Series,不指定索引標(biāo)簽值pandas庫(kù)【例15.8】創(chuàng)建Series,指定索引標(biāo)簽值pandas庫(kù)獲取Series的索引值和元素值index屬性:索引標(biāo)簽值values屬性:元素值pandas庫(kù)【例15.9】獲取Series的索引標(biāo)簽值和元素值pandas庫(kù)訪問Series元素下標(biāo)訪問索引標(biāo)簽值訪問pandas庫(kù)訪問Series元素--下標(biāo)訪問給出下標(biāo)或切片值pandas庫(kù)【例15.10】通過下標(biāo)訪問Series中元素pandas庫(kù)訪問Series元素--索引標(biāo)簽值訪問給出索引標(biāo)簽值或索引標(biāo)簽值列表pandas庫(kù)【例15.11】通過索引標(biāo)簽訪問Series中元素pandas庫(kù)DataFrame結(jié)構(gòu)是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾型值)DataFrame既有行索引也有列索引,可以看作是多個(gè)Seriespandas庫(kù)pandas庫(kù)創(chuàng)建DataFrameDataFrame(data,index,columns,dtype)data:輸入的數(shù)據(jù),可以是列表、常量、ndarray數(shù)組、字典index:行索引值,列表數(shù)據(jù),默認(rèn)為從0開始的整數(shù)columns:列索引值,列表數(shù)據(jù),默認(rèn)為從0開始的整數(shù)dtype:數(shù)據(jù)類型,默認(rèn)系統(tǒng)會(huì)根據(jù)獲得的值自動(dòng)指定pandas模塊--da02從list數(shù)據(jù)創(chuàng)建,不指定行列索引data_list=[[10,20,30],[40,50,60]]data_dataframe=pd.DataFrame(data_list)print(data_dataframe)行索引列索引pandas庫(kù)【例15.12】創(chuàng)建DataFrame,不指定索引值pandas庫(kù)【例15.13】創(chuàng)建DataFrame,指定索引值pandas庫(kù)【例15.14】使用字典創(chuàng)建DataFramepandas庫(kù)查看DataFrame數(shù)據(jù)shape:查看各維度大小index:行索引columns:查看列名head():默認(rèn)查看前5行,可設(shè)定查看行數(shù)tail():默認(rèn)查看最后5行,可設(shè)定查看行數(shù)pandas庫(kù)【例15.15】查看DataFrame基本信息pandas庫(kù)重建DataFrame行索引修改index屬性,賦值為新的行索引列表pandas庫(kù)【例15.16】重建DataFrame行索引pandas庫(kù)修改DataFrame列名修改全部列名修改columns屬性,賦值為新的列名列表修改某個(gè)列名通過rename方法,參數(shù)為字典數(shù)據(jù)rename(columns=新列名,inplace=True)pandas庫(kù)【例15.17】修改DataFrame全部列名pandas庫(kù)【例15.18】修改DataFrame指定列名pandas庫(kù)訪問DataFrame元素使用下標(biāo)值選擇數(shù)據(jù):iloc使用索引標(biāo)簽值選擇數(shù)據(jù):locpandas庫(kù)訪問DataFrame元素--使用下標(biāo)值選擇數(shù)據(jù)選擇單行:data_dataframe.iloc[1,:]選擇連續(xù)多行:data_dataframe.iloc[1:4,:]選擇不連續(xù)多行:data_dataframe.iloc[[1,
3],:]選擇單列:data_dataframe.iloc[:,1]選擇連續(xù)多列:data_dataframe.iloc[:,1:4]選選擇不連續(xù)多列:data_dataframe.iloc[:,[1,
3]]選擇某一個(gè)元素:data_dataframe.iloc[1,2]選擇區(qū)域內(nèi)元素:data_dataframe.iloc[1:4,1:3]pandas庫(kù)【例15.19】使用下標(biāo)值(iloc)選擇DataFrame元素pandas庫(kù)訪問DataFrame元素--使用索引標(biāo)簽值選擇數(shù)據(jù)選擇單行:data_dataframe.loc["b",:]選擇連續(xù)多行:data_dataframeloc["b":"d",:]選擇不連續(xù)多行:data_dataframeloc[["b","d"],:]選擇單列:data_dataframe.loc[:,"weight"]選擇連續(xù)多列:data_dataframe.loc[:,"weight":"gender"]選擇不連續(xù)多列:data_dataframe.loc[:,["weight","gender"]]選擇某一個(gè)元素:data_dataframe.loc["b","height"]選擇區(qū)域內(nèi)元素:data_dataframe.loc["b":"d","weight":"height"]pandas庫(kù)【例15.20】使用索引標(biāo)簽值(loc)獲取DataFrame元素pandas庫(kù)條件過濾選取&:與運(yùn)算,運(yùn)算符左右兩個(gè)表達(dá)式都必須滿足|:或運(yùn)算,運(yùn)算符左右兩個(gè)表達(dá)式滿足其中之一即可pandas庫(kù)【例15.21】DataFrame數(shù)據(jù)篩選pandas庫(kù)讀取CSV文件read_csv(path,index_col,names,header,usecols,parse_dates,encoding)path:文件路徑index_col:自定義行索引值names:自定義列名稱header:指定行數(shù)用來(lái)作為列名usecols:指定讀取哪些列parse_dates:指定合并為日期類型的列encoding:指定編碼,文件中包含中文使用'gbk'pandas庫(kù)保存CSV文件to_csv(path,sep,index,header,columns,encoding)path:文件路徑sep:分隔符,默認(rèn)為逗號(hào)index:是否保留行索引,布爾值header:是否保留列名,布爾值columns:指定保存哪些列encoding:指定編碼,文件中包含中文使用'gbk'pandas庫(kù)數(shù)據(jù)基本操作查看數(shù)據(jù)摘要信息:info()查看數(shù)據(jù)統(tǒng)計(jì)信息:describe()pandas庫(kù)查看數(shù)據(jù)統(tǒng)計(jì)信息describe()count:數(shù)量統(tǒng)計(jì),此列共有多少有效值std:標(biāo)準(zhǔn)差min:最小值25%:四分之一分位數(shù)50%:二分之一分位數(shù)75%:四分之三分位數(shù)max:最大值mean:均值pandas庫(kù)【例15.22】讀入CSV文件的數(shù)據(jù),并保存3數(shù)據(jù)可視化matplotlib庫(kù)matplotlib是Python的繪圖庫(kù),是數(shù)據(jù)分析中不可或缺的重要工具之一繪制各種圖形,比如柱狀圖、餅狀圖、折線圖等matplotlib中最常用的是其中一個(gè)子模塊——pyplotimportmatplotlib.pyplotaspltmatplotlib庫(kù)函數(shù)名稱描述bar繪制柱狀圖hist繪制直方圖pie繪制餅狀圖plot繪制折線圖scatter繪制x與y的散點(diǎn)圖matplotlib庫(kù)折線圖:plot(x,y,格式控制字符串)x:X軸的值y:Y軸的值格式控制字符串:基本屬性如:顏色(color),點(diǎn)型(marker),線型(linestyle)/2.1.1/api/_as_gen/matplotlib.pyplot.plot.htmlmatplotlib庫(kù)設(shè)置X軸標(biāo)題:xlabel(標(biāo)題名稱)設(shè)置Y軸標(biāo)題:ylabel(標(biāo)題名稱)設(shè)置圖標(biāo)標(biāo)題:title(標(biāo)題名稱)設(shè)置圖例:legend(圖例位置)中文顯示:plt.rcParams["font.family"]="SimHei"保存圖形:savefig(圖片名稱)matplotlib庫(kù)【例15.23】繪制折線圖matplotlib庫(kù)柱狀圖:bar(x,height,width,label)x:X軸的值height:柱的高度值,相當(dāng)于Y軸值width:寬度 ,取值范圍0~1,默認(rèn)0.8label:數(shù)據(jù)柱的標(biāo)題matplotlib庫(kù)【例15.24】繪制柱狀圖matplotlib庫(kù)直方圖:hist(x,bins)x:X軸的值,對(duì)應(yīng)plot中Y軸的值bins:指定bin(箱子)的個(gè)數(shù),即總共有幾條條狀圖matplotlib庫(kù)【例15.25】繪制直方圖matplotlib庫(kù)餅圖:pie(data,labels,autopct)data:餅圖數(shù)據(jù)labels:扇面說(shuō)明文字autopct:在扇面上顯示比例的格式,默認(rèn)為Nonematplotlib庫(kù)【例15.26】繪制餅圖matplotlib庫(kù)散點(diǎn)圖:scatter(x,y,s,c,marker)x:X軸的值y:Y軸的值s:散點(diǎn)大小c:散點(diǎn)顏色marker:散點(diǎn)類型matplotlib庫(kù)【例15.27】繪制散點(diǎn)圖4綜合案例分析天津2021年空氣質(zhì)量數(shù)據(jù)數(shù)據(jù)中存儲(chǔ)了天津市2021年每一天的空氣質(zhì)量檢測(cè)數(shù)據(jù),存儲(chǔ)與CSV文件中。案例主要操作包括:分析數(shù)據(jù)統(tǒng)計(jì)信息,繪制2021年各指標(biāo)圖形。數(shù)據(jù)分析的步驟讀取數(shù)據(jù)數(shù)據(jù)清洗分析數(shù)據(jù)數(shù)據(jù)可視化第一步:讀取數(shù)據(jù)數(shù)據(jù)文件名:天津2021空氣質(zhì)量.csvdf=pd.read_csv("天津2021空氣質(zhì)量.csv",encoding='gbk',index_col=['日期'],header=0,parse_dates=['日期'])第二步:數(shù)據(jù)清洗首先查看各數(shù)據(jù)列類型和是否存在缺失值print(())print(df.isnull().sum())各列數(shù)據(jù)類型各列非空數(shù)據(jù)個(gè)數(shù)總行數(shù)第二步:數(shù)據(jù)清洗如果存在缺失值直接將缺失值所在行或列刪除:dropna使用其他值填充:fillna第三步:分析數(shù)據(jù)查看數(shù)據(jù)的統(tǒng)計(jì)信息print(df.describe())第三步:分析數(shù)據(jù)獲取AQI最大值和最小值的日期print("AQI最大值日期:",df['AQI'].idxmax(),",最大值為:",df['AQI'].max())print("AQI最小值日期:",df['AQI'].idxmin(),",最小值為:",df['AQI'].min())第三步:分析數(shù)據(jù)獲取AQI的平均值和標(biāo)準(zhǔn)差print("AQI的平均值:",df['AQI'].mean())print("AQI的標(biāo)準(zhǔn)差:",df['AQI'].std())第三步:分析數(shù)據(jù)獲取不同質(zhì)量等級(jí)的數(shù)量print(df['質(zhì)量等級(jí)'].value_counts())第四步:數(shù)據(jù)可視化繪制天津2021年AQI值折線圖plt.rcParams["font.family"]="SimHei"plt.plot(df.index,df["AQI"])plt.xlabel("日期")plt.ylabel("AQI")plt.title("天津2021年AQI值變化")plt.show()第四步:數(shù)據(jù)可視化繪制天津2021年12月AQI值柱狀圖df12=df.loc['2021-12-01':'2021-12-31',:]#獲取12月數(shù)據(jù)df12=df12.reset_index()#重置索引,將索引值變?yōu)閺?開始的整數(shù)df12.index=df12.index+1plt.rcParams["font.family"]="SimHei"plt.bar(df12.index,df12["AQI"])plt.xlabel("日期")plt.ylabel("AQI")plt.title("天津2021年12月AQI值變化")plt.show()第四步:數(shù)據(jù)可視化(擴(kuò)展)繪制天津2021年12月AQI與PM2.5值柱狀圖df12=df.loc['2021-12-01':'2021-12-31',:]#獲取12月數(shù)據(jù)df12=df12.reset_index()#重置索引,將索引值變?yōu)閺?開始的整數(shù)df12.index=df12.index+1plt.rcParams["font.family"]="SimHei"plt.bar(df12.index,df12["AQI"
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公環(huán)境中的老人關(guān)懷措施
- 企業(yè)責(zé)任與青少年視力保護(hù)
- 城市生活中的孕婦營(yíng)養(yǎng)與健康飲食策略
- 2025中國(guó)聯(lián)通上海市分公司春季校園招聘30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)電子信息產(chǎn)業(yè)發(fā)展研究院春季招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國(guó)二冶集團(tuán)春季校園招聘400人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年遼寧事業(yè)單位招聘同步考試考務(wù)工作高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年福建柘榮縣事業(yè)單位招聘人員歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年浙江省舟山定海區(qū)財(cái)政局招聘編外人員3人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025下半年廣東省清遠(yuǎn)佛岡縣招聘事業(yè)單位人員243人筆試高頻重點(diǎn)提升(共500題)附帶答案詳解
- 造紙行業(yè)崗位安全操作規(guī)程
- 律師事務(wù)所人員管理制度
- 帶封面的新員工入職登記表
- 20以內(nèi)的加法口算練習(xí)題4000題 205
- 玻璃打膠記錄
- 《全媒體營(yíng)銷與運(yùn)營(yíng)(微課版)》-教學(xué)大綱
- Module3 Unit2 Do they like apples?(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(一起)英語(yǔ)二年級(jí)上冊(cè)
- 醫(yī)院教學(xué)工作匯報(bào)
- 籃球球星姚明課件
- 2024-2030年中國(guó)計(jì)算機(jī)視覺行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)-工程設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)2002修訂版
評(píng)論
0/150
提交評(píng)論