首页 > 编程 > Python > 正文

Python科学计算之Pandas详解

2020-02-23 04:16:16
字体:
来源:转载
供稿:网友

起步

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 是另一个好用的数据源。

选择/切片

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表