起步
Pandas最初被作為金融數據分析工具而開發出來,因此 pandas 為時間序列分析提供了很好的支持。 Pandas 的名稱來自于面板數據(panel data)和python數據分析 (data analysis) 。panel data是經濟學中關于多維數據集的一個術語,在Pandas中也提供了panel的數據類型。
在我看來,對于 Numpy 以及 Matplotlib ,Pandas可以幫助創建一個非常牢固的用于數據挖掘與分析的基礎。而Scipy當然是另一個主要的也十分出色的科學計算庫。
安裝與導入
通過pip進行安裝: pip install pandas
導入:
import pandas as pd
Pandas的數據類型
Pandas基于兩種數據類型: series 與 dataframe 。
Series
一個series是一個一維的數據類型,其中每一個元素都有一個標簽。類似于Numpy中元素帶標簽的數組。其中,標簽可以是數字或者字符串。
# coding: utf-8import numpy as npimport pandas as pds = pd.Series([1, 2, 5, np.nan, 6, 8])print s
輸出:
0 1.01 2.02 5.03 NaN4 6.05 8.0dtype: float64
DataFrame
一個dataframe是一個二維的表結構。Pandas的dataframe可以存儲許多種不同的數據類型,并且每一個坐標軸都有自己的標簽。你可以把它想象成一個series的字典項。
創建一個 DateFrame:
#創建日期索引序列 dates = pd.date_range('20130101', periods=6)#創建Dataframe,其中 index 決定索引序列,columns 決定列名df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))print df
輸出:
A B C D2013-01-01 -0.334482 0.746019 -2.205026 -0.8038782013-01-02 2.007879 1.559073 -0.527997 0.9509462013-01-03 -1.053796 0.438214 -0.027664 0.0185372013-01-04 -0.208744 -0.725155 -0.395226 -0.2685292013-01-05 0.080822 -1.215433 -0.785030 0.9776542013-01-06 -0.126459 0.426328 -0.474553 -1.968056
字典創建 DataFrame
df2 = pd.DataFrame({ 'A' : 1., 'B' : pd.Timestamp('20130102'), 'C' : pd.Series(1,index=list(range(4)),dtype='float32'), 'D' : np.array([3] * 4,dtype='int32'), 'E' : pd.Categorical(["test","train","test","train"]), 'F' : 'foo' })
輸出:
A B C D E F0 1 2013-01-02 1 3 test foo1 1 2013-01-02 1 3 train foo2 1 2013-01-02 1 3 test foo3 1 2013-01-02 1 3 train foo
將文件數據導入Pandas
df = pd.read_csv("Average_Daily_Traffic_Counts.csv", header = 0)df.head()
數據源可以是 英國政府數據 或 美國政府數據 來獲取數據源。當然, Kaggle 是另一個好用的數據源。
選擇/切片
新聞熱點
疑難解答