Pandas入門基本知識
來自專欄大數據轉行學習筆記
Pandas基於NumPy實現,常與NumPy和Matplotlib一同使用
引用代碼:
import pandas as pd
一、series類型
series類型有一組相對應的數據及其索引構成,可以由:Python列表、標量值。Python字典、ndarray和其他函數創建。
可以直接由列表創建:
我們也可以自己輸入索引參數,來確定索引:
series類型類似於Python中的字典類型有鍵值對索引,所以可以由字典來創建series:
同樣也能用index修改參數:
(注意d對應著NaN)
series類型也可以直接由numpy中的ndarray類型創建(同時可以用index特定索引):
二、series的索引
值得注意的是,自動索引自動生成,而且是可以和我們的自定義索引並存的:
索引單個值時返回的是值,而切片索引時返回的是series類型:
同樣,對series的運算返回的結果同樣是series類型:
(median函數用來返回中值, exp函數用來計算e的x次方)
get()用於獲取f對應的值,如果沒有則返回100
無法對其的數據不會被計算(看做取交集就好)
簡單來說,series類型就是一個一維的帶索引的數組。
三、DataFrame類型
DataFrame類型就是Pandas庫的二維數據類型,多列數據共用一套索引
和Numpy一樣,縱向為index(axis=0),橫向為column(axis=1)
我們可以由二維ndarray對象創建DataFrame類型(注意numpy和pandas要分別import)
(行和列上都會自動生成索引)
一維ndarray對象/列表可以通過字典類型生成DataFrame類型
(自動用NaN補齊)
DataFrame的索引也沒有什麼好說的(注意橫向整行索引用d.ix[]):
四、數據類型操作
.reindex()能夠改變或重排Series和DataFrame(標出index還是colums)索引
重新索引的參數:
Series和DataFrame的索引是Index類型,Index對象是不可修改類型,對其修改主要有以下方法:
(ffill指向前填充)
.drop()能夠刪除Series和DataFrame指定行或列索引
五、Pandas庫數據類型計算
可以用+-*/號進行運算,也可以用一些函數運算,使用函數的優點在於可以使用一些參數:
不同維度之間的運算為廣播運算:
六、排序
一組雜亂的數據,需要進行摘要(有損的獲得數據特徵的過程):排序、分布/累計統計、數據特徵(相關性、周期性)、數據挖掘
pandas庫的排序方法有兩種:1..sort_index()方法在指定軸上根據索引進行排序,默認升序
(ascending意為遞增排序)
2..sort_values()方法在指定軸上根據數值進行排序,默認升序
(NaN統一放到排序末尾)
七、統計分析函數
.describe() 針對0軸(各列)的統計匯總,一次性輸出多種統計數值:
a.describe() 的類型是series類型,所以可以使用索引方法
此時a.describe() 的類型是DataFrame類型,按索引返回一個series類型對象
累計分析:對前1-N個數進行累加
滾動/窗口計算函數:依次計算相鄰x個元素
1.縱向上以兩個元素為單位進行求和運算
2.縱向上以三個元素為單位進行求和運算
七、相關性分析
相關性最基本的就是:
? X增大,Y增大,兩個變數正相關
? X增大,Y減小,兩個變數負相關
? X增大,Y無視,兩個變數不相關
分析相關性的方法:
1.協方差
2.Pearson相關係數
(r取絕對值)
看一個實例:
得出結論為中等相關性
代碼為:
import pandas as pd
推薦閱讀:
※Redis初體驗
※Pandas學習-6concat合併
※如何與pandas愉快地玩耍(二)
※將Numpy datetime64類型日期進行格式轉換
※如何與pandas愉快地玩耍(一)