Python是當今世界*熱門的編程語言,而它*的應用領域就是使用 Pandas 數據分析,使用 Pandas 我們可以 Excel/CSV/TXT/MySQL 等數據讀取,然后進行各種清洗、過濾、透視、聚合分析,也可以直接繪制折線圖、餅圖等數據分析圖表,在功能上它能夠實現自動化的對大文件處理,能夠實現Excel的幾乎所有功能并且更加強大。

對數學專業的人來說,Pandas可以作為一個*的數據分析切入點。下面融躍小編為大家介紹12種用于數據分析的Pandas技巧。

1. Boolean Indexing

在表格中,如果你想根據另一列的條件篩選當前列的值,你會怎么做?舉個例子,假設我們想要一份所有未畢業但已經辦理了貸款的女性清單,具體的操作是什么?在這種情況下,Boolean Indexing,也就是布爾索引能提供相應的功能。

2. Apply Function

Apply函數是使用數據和創建新變量的常用函數之一。在對DataFrame的特定行/列應用一些函數后,它會返回相應的值。這些函數既可以是默認的,也可以是用戶自定義的。

3. 替換缺失值

對于替換缺失值,fillna可以一步到位,它會用目標列的平均值/眾數/中位數更新缺失值。

4. Pivot Table

Pandas可以用來創建MS Excel樣式數據透視表(Pivot Table)。

5. Multi-Indexing

如果你仔細觀察了“替換缺失值”那一節的輸出,你可能會發現一個奇怪的現象,就是每個索引都由3個值組合而成。這被稱為多重索引(Multi-Indexing),它有助于操作的快速執行。

注:

多索引需要元組來定義loc語句中的索引組。這是一個在函數中要用到的元組。

values [0]的后綴是必需的,因為默認情況下返回的值與DataFrame的值不匹配。在這種情況下,直接分配會出現錯誤。

Python

6. Crosstab

這個函數可以被用來塑造對數據的初始“感覺(概覽)”,通俗地講,就是我們可以驗證一些基本假設。如在貸款案例中,“Credit_History”是否會影響個人貸款成功?這可以用交叉表(Crosstab)測試,

7. 合并DataFrame

當我們需要將來自不同來源的信息進行整合時,合并DataFrame(或者你們愛說數據框)就變得很重要了。

8. DataFrame排序

Pandas可以輕松基于多列進行排序。

9. 繪圖(Boxplot和直方圖)

很多人可能不知道自己能直接在Pandas里繪制盒形圖和直方圖,無需單獨調用matplotlib,一行命令就能搞定。

10. Cut function for binning

有時候聚類后的數據會更有意義。以今天*近車禍頻發的自動駕駛汽車為例,如果我們要用它捕獲的數據重現某條路上的交通情況,比起一整天的流暢數據,或是把一天均勻分割為24個小時,“早上”“下午”“晚上”“夜晚”“深夜”這幾個關鍵時段的數據包含的信息量更多,也更有效。

11. 為nominal數據編碼

有時候我們需要對稱名數據(nominal數據)重新分類,這可能是由于各種原因造成的:一些算法(如Logistic回歸)要求所有輸入都是數字,所以我們要把稱名變量重新編碼為0,1 ...(n-1)。

有時一個類別可能包含多種表達,如“溫度”可以被記錄為“High”“Medium”“Low”“H”“low”,其中“High”和“H”是一碼事,“Low”和“low”也是一碼事,但Python會認為它們是不同的。有些類別的頻數*低,所以我們應該把它們合并起來。

為了解決這個問題,這里我們定義了一個簡單的函數,它把輸入作為“字典”,然后調用Pandas的replace函數重新編碼。

Python

12. 迭代dataframe的行

這不是一個常用的技巧,但如果遇到這種問題,相信沒人想到時候再絞盡腦汁想辦法,或者直接自暴自棄用for循環遍歷所有行。這里我們舉兩個要用到這種方法的場景:當帶有數字的nominal variable被當成數字。當某一行帶有字符(因為數據錯誤)的Numeric variable被當成分類。這時我們就要手動定義列的類別。雖然很麻煩,但這之后如果我們再檢查數據類別。

數據分析是一個很熱門*有價值的職場技能,學會了 Pandas 會*大的助力你的職業生涯。