我爱编程

python数据分析之Pandas

2017-12-14  本文已影响0人  Yagami_

介绍

Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。

数据类型

Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。

Time- Series:以时间为索引的Series。

DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。

Panel :三维的数组,可以理解为DataFrame的容器。

放一下Series的事例代码

# -*- coding: utf-8 -*-

frompandasimportSeries

print'用数组生成Series'

obj = Series([4,7, -5,3])

printobj

printobj.values

printobj.index

print

print'指定Series的index'

obj2 = Series([4,7, -5,3],index= ['d','b','a','c'])

printobj2

printobj2.index

printobj2['a']

obj2['d'] =6

printobj2[['c','a','d']]

printobj2[obj2 >0]# 找出大于0的元素

print'b'inobj2# 判断索引是否存在

print'e'inobj2

print

print'使用字典生成Series'

sdata = {'Ohio':45000,'Texas':71000,'Oregon':16000,'Utah':5000}

obj3 = Series(sdata)

printobj3

print

print'使用字典生成Series,并额外指定index,不匹配部分为NaN。'

states = ['California','Ohio','Oregon','Texas']

obj4 = Series(sdata,index= states)

printobj4

print

print'Series相加,相同索引部分相加。'

printobj3 + obj4

print

print'指定Series及其索引的名字'

obj4.name ='population'

obj4.index.name ='state'

printobj4

print

print'替换index'

obj.index = ['Bob','Steve','Jeff','Ryan']

printobj

上一篇下一篇

猜你喜欢

热点阅读