12.23 Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

本文涉及pandas最常用的36個函數,通過這些函數介紹如何完成數據生成和導入、數據清洗、預處理,以及最常見的數據分類,數據篩選,分類彙總,透視等最常見的操作。

生成數據表

常見的生成數據表的方法有兩種,第一種是導入外部數據,第二種是直接寫入數據。

Excel中的“文件”菜單中提供了獲取外部數據的功能,支持數據庫和文本文件和頁面的多種數據源導入。

Python常用的36個pandas函數,你做Excel一定用的到

Python支持從多種類型的數據導入。在開始使用Python進行數據導入前需要先導入numpy和pandas庫

Python常用的36個pandas函數,你做Excel一定用的到

導入外部數據

Python常用的36個pandas函數,你做Excel一定用的到

裡面有很多可選參數設置,例如列名稱、索引列、數據格式等

直接寫入數據

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

數據表檢查

數據表檢查的目的是瞭解數據表的整體情況,獲得數據表的關鍵信息、數據的概況,例如整個數據表的大小、所佔空間、數據格式、是否有 空值和重複項和具體的數據內容,為後面的清洗和預處理做好準備。

1.數據維度(行列)

Excel中可以通過CTRL+向下的光標鍵,和CTRL+向右的光標鍵 來查看行號和列號。Python中使用shape函數來查看數據表的維度,也就是行數和列數。

<code>df.shape
/<code>

2.數據表信息

使用info函數查看數據表的整體信息,包括數據維度、列名稱、數據格式和所佔空間等信息。#數據表信息

Python常用的36個pandas函數,你做Excel一定用的到

3.查看數據格式

Excel中通過選中單元格並查看開始菜單中的數值類型來判斷數 據的格式。Python中使用dtypes函數來返回數據格式。

Python常用的36個pandas函數,你做Excel一定用的到

Dtypes是一個查看數據格式的函數,可以一次性查看數據表中所 有數據的格式,也可以指定一列來單獨查看

Python常用的36個pandas函數,你做Excel一定用的到

4.查看空值

Excel中查看空值的方法是使用“定位條件”在“開始”目錄下的“查找和選擇”目錄.

Python常用的36個pandas函數,你做Excel一定用的到

Isnull是Python中檢驗空值的函數

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

5.查看唯一值

Excel中查看唯一值的方法是使用“條件格式”對唯一值進行顏色 標記。

Python常用的36個pandas函數,你做Excel一定用的到

Python中使用unique函數查看唯一值。

Python常用的36個pandas函數,你做Excel一定用的到

6.查看數據表數值

Python中的Values函數用來查看數據表中的數值

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

7.查看列名稱

Colums函數用來單獨查看數據表中的列名稱。

Python常用的36個pandas函數,你做Excel一定用的到

8.查看前10行數據

Head函數用來查看數據表中的前N行數據

Python常用的36個pandas函數,你做Excel一定用的到

9.查看後10行數據

Tail行數與head函數相反,用來查看數據表中後N行的數據

Python常用的36個pandas函數,你做Excel一定用的到

數據表清洗

本章介紹對數據表中的問題進行清洗,包括對空值、大小寫問題、數據格式和重複值的處理。

1.處理空值(刪除或填充)

Excel中可以通過“查找和替換”功能對空值進行處理

Python常用的36個pandas函數,你做Excel一定用的到

Python中處理空值的方法比較靈活,可以使用 Dropna函數用來刪除數據表中包含空值的數據,也可以使用fillna函數對空值進行填充。

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

也可以使用數字對空值進行填充

Python常用的36個pandas函數,你做Excel一定用的到

使用price列的均值來填充NA字段,同樣使用fillna函數,在要填充的數值中使用mean函數先計算price列當前的均值,然後使用這個均值對NA進行填充。

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

2.清理空格

字符中的空格也是數據清洗中一個常見的問題

Python常用的36個pandas函數,你做Excel一定用的到

3.大小寫轉換

在英文字段中,字母的大小寫不統一也是一個常見的問題。Excel中有UPPER,LOWER等函數,Python中也有同名函數用來解決 大小寫的問題。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

4.更改數據格式

Excel中通過“設置單元格格式”功能可以修改數據格式。

Python常用的36個pandas函數,你做Excel一定用的到

Python中通過astype函數用來修改數據格式。

Python常用的36個pandas函數,你做Excel一定用的到

5.更改列名稱

Rename是更改列名稱的函數,我們將來數據表中的category列更改為category-size。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

6.刪除重複值

Excel的數據目錄下有“刪除重複項”的功能

Python常用的36個pandas函數,你做Excel一定用的到

Python中使用drop_duplicates函數刪除重複值

Python常用的36個pandas函數,你做Excel一定用的到

city列中beijing存在重複,分別在第一位和最後一位 drop_duplicates()函數刪除重複值

Python常用的36個pandas函數,你做Excel一定用的到

設置keep='last‘’參數後,與之前刪除重複值的結果相反,第一位 出現的beijing被刪除

Python常用的36個pandas函數,你做Excel一定用的到

7.數值修改及替換

Excel中使用“查找和替換”功能就可以實現數值的替換

Python常用的36個pandas函數,你做Excel一定用的到

Python中使用replace函數實現數據替換

Python常用的36個pandas函數,你做Excel一定用的到

數據預處理

本章主要講的是數據的預處理,對清洗完的數據進行整理以便後期的統計和分析工作。主要包括數據表的合併,排序,數值分列,數據分組及標記等工作。

1.數據表合併

在Excel中沒有直接完成數據表合併的功能,可以通過VLOOKUP函數分步實現。在Python中可以通過merge函數一次性實現。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

使用merge函數對兩個數據表進行合併,合併的方式為inner,將 兩個數據表中共有的數據匹配到一起生成新的數據表。並命名為 df_inner。

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

合併的方式還有left,right和outer方式

Python常用的36個pandas函數,你做Excel一定用的到

2.設置索引列

索引列可以進行數據提取,彙總,數據篩選

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

3.排序(按索引,按數值)

Excel中可以通過數據目錄下的排序按鈕直接對數據表進行排 序

Python常用的36個pandas函數,你做Excel一定用的到


Python中需要使用ort_values函數和sort_index函數完成排序

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

Sort_index函數用來將數據表按索引列的值進行排序。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

4.數據分組

Excel中可以通過VLOOKUP函數進行近似匹配來完成對數值的分組,或者使用“數據透視表”來完成分組

Python中使用Where函數用來對數據進行判斷和分組

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

還可以對多個字段的值進行判斷後對數據進行分組,下面的代碼中對city列等於beijing並且price列大於等於4000的數據標記為1。

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

5.數據分列

Excel中的數據目錄下提供“分列”功能。

Python常用的36個pandas函數,你做Excel一定用的到

在Python中使用split函數實現分列在數據表中category列中的數據包含有兩個信息,前面的數字為類別id,後面的字母為size值。中間以連字符進行連接。我們使用split函數對這個字段進行拆分,並將拆分後的數據表匹配回原數據表中。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到


數據提取

1.按標籤提取(loc)

Python常用的36個pandas函數,你做Excel一定用的到


使用冒號可以限定提取數據的範圍,冒號前面為開始的標籤值後面為結束的標籤值。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Reset_index函數用於恢復索引,這裡我們重新將date字段的日期 設置為數據表的索引,並按日期進行數據提取。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

2.按位置提取(iloc)

使用iloc函數按位置對數據表中的數據進行提取,這裡冒號前後 的數字不再是索引的標籤名稱,而是數據所在的位置,從0開始。

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

iloc函數除了可以按區域提取數據,還可以按位置逐條提取

Python常用的36個pandas函數,你做Excel一定用的到

前面方括號中的0,2,5表示數據所在行的位置,後面方括號中的數表示所在列的位置。

Python常用的36個pandas函數,你做Excel一定用的到

3.按標籤和位置提取(ix)

ix是loc和iloc的混合,既能按索引標籤提取,也能按位置進行數 據提取.

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到


4.按條件提取(區域和條件值)

使用loc和isin兩個函數配合使用,按指定條件對數據進行提取

Python常用的36個pandas函數,你做Excel一定用的到

將isin函數嵌套到loc的數據提取函數中,將判斷結果為Ture數據 提取出來。這裡我們把判斷條件改為city值是否為beijing和shanghai。如果是就把這條數據提取出來。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

數據篩選

按條件篩選(與、或、非)

Excel數據目錄下提供了“篩選”功能,用於對數據表按不同的條 件進行篩選。

Python常用的36個pandas函數,你做Excel一定用的到


Python中使用loc函數配合篩選條件來完成篩選功能。配合sum和count函數還能實現Excel中sumif和countif函數的功能。使用“與”條件進行篩選,條件是年齡大於25歲,並且城市為 beijing。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

在前面的代碼後面增加city列,並使用count函數進行計數。相當於Excel中的countifs函數的功能

Python常用的36個pandas函數,你做Excel一定用的到

還有一種篩選的方式是用query函數

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

在前面的代碼後增加price字段和sum函數。對篩選後的price字段 進行求和,相當於Excel中的sumifs函數的功能。

Python常用的36個pandas函數,你做Excel一定用的到

數據彙總

Excel中使用分類彙總和數據透視可以按特定維度對數據進行彙總,Python中使用的主要函數是groupby和pivot_table。

1.分類彙總

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

還可以對彙總後的數據同時按多個維度進行計算

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

2.數據透視

Python常用的36個pandas函數,你做Excel一定用的到

Python中通過pivot_table函數實現同樣的效果

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

數據統計

1.數據採樣

Excel的數據分析功能中提供了數據抽樣的功能

Python常用的36個pandas函數,你做Excel一定用的到

Python通過sample函數完成數據採樣

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

Weights參數是採樣的權重,通過設置不同的權重可以更改採樣的結果

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

Sample函數中參數replace,用來設置採樣後是否放回

Python常用的36個pandas函數,你做Excel一定用的到

2.描述統計

Python中可以通過Describe對數據進行描述統計

Python常用的36個pandas函數,你做Excel一定用的到

Python常用的36個pandas函數,你做Excel一定用的到

3.相關分析

Python常用的36個pandas函數,你做Excel一定用的到

Python中則通過corr函數完成相關分析的操作,並返回相關係數。

Python常用的36個pandas函數,你做Excel一定用的到


Python常用的36個pandas函數,你做Excel一定用的到

數據輸出

1.寫入Excel

Python常用的36個pandas函數,你做Excel一定用的到

2.寫入csv

Python常用的36個pandas函數,你做Excel一定用的到

參考

王彥平《從Excel到Python:數據分析進階指南》


分享到:


相關文章: