1 简介
林小森博客:
Python科学计算库Pandas基础数据结构Series和DataFrame - 林小森www.linxiaosen.compandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
pandas含有使数据分析工作变得更快更简单的高级数据结构和操作工具。它是基于NumPy构建的,让以NumPy为中心的应用变得更加简单。 pandas主要包括两种数据结构: Series DataFrame
导入pandas包。因为Series和DataFrame用的次数非常多,所以将其引入本地命名空间中会更方便。
>>>from pandas import Series, DataFrame
>>>import pandas as pd
2 Series
Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组 与之相关的数据标签(即索引)组成。
2.1 创建Series
1、由一组数据即可产生最简单的Series:
>>>obj = Series([4, 7, -5, 3])
>>>obj
0 4
1 7
2 -5
3 3
dtype: int64
2、由字典来创建Series 如果数据被存放在一个Python字典中,也可以直接通过这个字典来创建Series:
>>>sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Utah': 5000}
>>>obj3 = Series(sdata)
>>>obj3
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
dtype: int64
2.2 索引
Series的字符串表现形式为:索引在左边,值在右边。可以通过Series的 values和index属性获取其数组表示形式和索引对象:如果没有为数据指定索引, 于是会自动创建一个0到N-1 (N为数据的长度)的整数型索引。
>>>obj.values
array([ 4, 7, -5, 3], dtype=int64)
>>>obj.index
Int64Index([0, 1, 2, 3], dtype='int64')
1、创建Series时指定索引。 通常希望所创建的Series带有一个可以对各个数据点进行标记的索引:
>>>obj2 = Series([4, 7,-5,3], index=['d','b','a','c'])
>>>obj2
d 4
b 7
a -5
c 3
dtype: int64
>>> obj2.index
Index([u'd', u'b', u'a', u'c'], dtype='object')
2、由字典创建Series时指定索引 如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)。 在例子中,sdata跟states索引相匹配的那3个值会被找出来并放到相应的位置上, 但由于“California”所对应的sdata值找不到,所以其结果就为NaN (即“非数字” (not a number)).
>>>states = ['California', 'Ohio', 'Oregon', 'Texas']
>>>obj4 = Series(sdata, index=states)
>>>obj4
California NaN
Ohio 35