像Excel一樣使用python進(jìn)行數(shù)據(jù)分析-(3)藍(lán)鯨的網(wǎng)站分析筆記 2017-04-21 14:02 Excel是數(shù)據(jù)分析中最常用的工具,本篇文章通過(guò)python與excel的功能對(duì)比介紹如何使用python通過(guò)函數(shù)式編程完成excel中的數(shù)據(jù)處理及分析工作。在Python中pandas庫(kù)用于數(shù)據(jù)處理,我們從1787頁(yè)的pandas官網(wǎng)文檔中總結(jié)出最常用的36個(gè)函數(shù),通過(guò)這些函數(shù)介紹如何通過(guò)python完成數(shù)據(jù)生成和導(dǎo)入,數(shù)據(jù)清洗,預(yù)處理,以及最常見(jiàn)的數(shù)據(jù)分類,數(shù)據(jù)篩選,分類匯總,透視等最常見(jiàn)的操作。 這個(gè)系列文章內(nèi)容共分為9個(gè)部分。已由人民郵電出版社出版,感興趣的朋友可以在異步社區(qū)獲取完整版。 這是第三篇,介紹第7-9部分的內(nèi)容,數(shù)據(jù)匯總,數(shù)據(jù)統(tǒng)計(jì),和數(shù)據(jù)輸出。 7,數(shù)據(jù)匯總第七部分是對(duì)數(shù)據(jù)進(jìn)行分類匯總,Excel中使用分類匯總和數(shù)據(jù)透視可以按特定維度對(duì)數(shù)據(jù)進(jìn)行匯總,python中使用的主要函數(shù)是groupby和pivot_table。下面分別介紹這兩個(gè)函數(shù)的使用方法。 分類匯總 Excel的數(shù)據(jù)目錄下提供了“分類匯總”功能,可以按指定的字段和匯總方式對(duì)數(shù)據(jù)表進(jìn)行匯總。Python中通過(guò)Groupby函數(shù)完成相應(yīng)的操作,并可以支持多級(jí)分類匯總。 Groupby是進(jìn)行分類匯總的函數(shù),使用方法很簡(jiǎn)單,制定要分組的列名稱就可以,也可以同時(shí)制定多個(gè)列名稱,groupby按列名稱出現(xiàn)的順序進(jìn)行分組。同時(shí)要制定分組后的匯總方式,常見(jiàn)的是計(jì)數(shù)和求和兩種。
可以在groupby中設(shè)置列名稱來(lái)對(duì)特定的列進(jìn)行匯總。下面的代碼中按城市對(duì)id字段進(jìn)行匯總計(jì)數(shù)。
在前面的基礎(chǔ)上增加第二個(gè)列名稱,分布對(duì)city和size兩個(gè)字段進(jìn)行計(jì)數(shù)匯總。
除了計(jì)數(shù)和求和外,還可以對(duì)匯總后的數(shù)據(jù)同時(shí)按多個(gè)維度進(jìn)行計(jì)算,下面的代碼中按城市對(duì)price字段進(jìn)行匯總,并分別計(jì)算price的數(shù)量,總金額和平均金額。
數(shù)據(jù)透視 Excel中的插入目錄下提供“數(shù)據(jù)透視表”功能對(duì)數(shù)據(jù)表按特定維度進(jìn)行匯總。Python中也提供了數(shù)據(jù)透視表功能。通過(guò)pivot_table函數(shù)實(shí)現(xiàn)同樣的效果。 數(shù)據(jù)透視表也是常用的一種數(shù)據(jù)分類匯總方式,并且功能上比groupby要強(qiáng)大一些。下面的代碼中設(shè)定city為行字段,size為列字段,price為值字段。分別計(jì)算price的數(shù)量和金額并且按行與列進(jìn)行匯總。
8,數(shù)據(jù)統(tǒng)計(jì)第九部分為數(shù)據(jù)統(tǒng)計(jì),這里主要介紹數(shù)據(jù)采樣,標(biāo)準(zhǔn)差,協(xié)方差和相關(guān)系數(shù)的使用方法。 數(shù)據(jù)采樣 Excel的數(shù)據(jù)分析功能中提供了數(shù)據(jù)抽樣的功能,如下圖所示。Python通過(guò)sample函數(shù)完成數(shù)據(jù)采樣。 Sample是進(jìn)行數(shù)據(jù)采樣的函數(shù),設(shè)置n的數(shù)量就可以了。函數(shù)自動(dòng)返回參與的結(jié)果。
Weights參數(shù)是采樣的權(quán)重,通過(guò)設(shè)置不同的權(quán)重可以更改采樣的結(jié)果,權(quán)重高的數(shù)據(jù)將更有希望被選中。這里手動(dòng)設(shè)置6條數(shù)據(jù)的權(quán)重值。將前面4個(gè)設(shè)置為0,后面兩個(gè)分別設(shè)置為0.5。
從采樣結(jié)果中可以看出,后兩條權(quán)重高的數(shù)據(jù)被選中。 Sample函數(shù)中還有一個(gè)參數(shù)replace,用來(lái)設(shè)置采樣后是否放回。
描述統(tǒng)計(jì) Excel中的數(shù)據(jù)分析中提供了描述統(tǒng)計(jì)的功能。Python中可以通過(guò)Describe對(duì)數(shù)據(jù)進(jìn)行描述統(tǒng)計(jì)。 Describe函數(shù)是進(jìn)行描述統(tǒng)計(jì)的函數(shù),自動(dòng)生成數(shù)據(jù)的數(shù)量,均值,標(biāo)準(zhǔn)差等數(shù)據(jù)。下面的代碼中對(duì)數(shù)據(jù)表進(jìn)行描述統(tǒng)計(jì),并使用round函數(shù)設(shè)置結(jié)果顯示的小數(shù)位。并對(duì)結(jié)果數(shù)據(jù)進(jìn)行轉(zhuǎn)置。
標(biāo)準(zhǔn)差 Python中的Std函數(shù)用來(lái)接算特定數(shù)據(jù)列的標(biāo)準(zhǔn)差。
協(xié)方差 Excel中的數(shù)據(jù)分析功能中提供協(xié)方差的計(jì)算,python中通過(guò)cov函數(shù)計(jì)算兩個(gè)字段或數(shù)據(jù)表中各字段間的協(xié)方差。 Cov函數(shù)用來(lái)計(jì)算兩個(gè)字段間的協(xié)方差,可以只對(duì)特定字段進(jìn)行計(jì)算,也可以對(duì)整個(gè)數(shù)據(jù)表中各個(gè)列之間進(jìn)行計(jì)算。
相關(guān)分析 Excel的數(shù)據(jù)分析功能中提供了相關(guān)系數(shù)的計(jì)算功能,python中則通過(guò)corr函數(shù)完成相關(guān)分析的操作,并返回相關(guān)系數(shù)。 Corr函數(shù)用來(lái)計(jì)算數(shù)據(jù)間的相關(guān)系數(shù),可以單獨(dú)對(duì)特定數(shù)據(jù)進(jìn)行計(jì)算,也可以對(duì)整個(gè)數(shù)據(jù)表中各個(gè)列進(jìn)行計(jì)算。相關(guān)系數(shù)在-1到1之間,接近1為正相關(guān),接近-1為負(fù)相關(guān),0為不相關(guān)。
9,數(shù)據(jù)輸出第九部分是數(shù)據(jù)輸出,處理和分析完的數(shù)據(jù)可以輸出為xlsx格式和csv格式。 寫(xiě)入excel
寫(xiě)入csv
在數(shù)據(jù)處理的過(guò)程中,大部分基礎(chǔ)工作是重復(fù)和機(jī)械的,對(duì)于這部分基礎(chǔ)工作,我們可以使用自定義函數(shù)進(jìn)行自動(dòng)化。以下簡(jiǎn)單介紹對(duì)數(shù)據(jù)表信息獲取自動(dòng)化處理。
本篇是《像Excel一樣使用python進(jìn)行數(shù)據(jù)分析》系列文章的最后一篇。在這個(gè)系列中我們列舉了python中36個(gè)簡(jiǎn)單的函數(shù)來(lái)實(shí)現(xiàn)excel中最常見(jiàn)的一些功能。感興趣的朋友可以下載并閱讀pandas官方文檔,里面有更詳細(xì)的函數(shù)說(shuō)明。也歡迎給我留言進(jìn)行交流。 |
|
來(lái)自: 昵稱QAb6ICvc > 《python》