標籤:

Pandas入門基本知識

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愉快地玩耍(一)

TAG:Python | pandas包 |