起步
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 是另一个好用的数据源。
选择/切片
新闻热点
疑难解答