像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ù)分類(lèi),,數(shù)據(jù)篩選,,分類(lèi)匯總,透視等最常見(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)行分類(lèi)匯總,,Excel中使用分類(lèi)匯總和數(shù)據(jù)透視可以按特定維度對(duì)數(shù)據(jù)進(jìn)行匯總,python中使用的主要函數(shù)是groupby和pivot_table,。下面分別介紹這兩個(gè)函數(shù)的使用方法,。 分類(lèi)匯總 Excel的數(shù)據(jù)目錄下提供了“分類(lèi)匯總”功能,可以按指定的字段和匯總方式對(duì)數(shù)據(jù)表進(jìn)行匯總,。Python中通過(guò)Groupby函數(shù)完成相應(yīng)的操作,,并可以支持多級(jí)分類(lèi)匯總。 Groupby是進(jìn)行分類(lèi)匯總的函數(shù),,使用方法很簡(jiǎn)單,,制定要分組的列名稱(chēng)就可以,,也可以同時(shí)制定多個(gè)列名稱(chēng),groupby按列名稱(chēng)出現(xiàn)的順序進(jìn)行分組,。同時(shí)要制定分組后的匯總方式,,常見(jiàn)的是計(jì)數(shù)和求和兩種。
可以在groupby中設(shè)置列名稱(chēng)來(lái)對(duì)特定的列進(jìn)行匯總,。下面的代碼中按城市對(duì)id字段進(jìn)行匯總計(jì)數(shù),。
在前面的基礎(chǔ)上增加第二個(gè)列名稱(chēng),分布對(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ù)分類(lèi)匯總方式,,并且功能上比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)自: 昵稱(chēng)QAb6ICvc > 《python》