pandas 是python的一个数据分析包,是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。提供了高效地操作大型数据集所需的工具,使得数据分析工作变着简单高效。
pandas数据结构介绍
Series是一种类似于一维数组的对象,它由一维组数(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series
from pandas import Series,DataFrame
import pandas as pd
import numpy as np
obj=Series([4,7,-5,3])
obj
0 4
1 7
2 -5
3 3
dtype: int64
Series的字符串表现形式是:索引在左边,值在右边,由于没有为数据指定索引,就会自动创建一个0到N-1的整数型索引。可以通过Series的values和index属性获取其数组表示形式和索引对象。
obj.values
array([ 4, 7, -5, 3], dtype=int64)
obj.index
RangeIndex(start=0, stop=4, step=1)
我们希望创建的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(['d', 'b', 'a', 'c'], dtype='object')
通过索引的方式选取Series中的一个或者一组值
obj2['a']
-5
obj2['d']=6
obj2[['c','a','d']]
c 3
a -5
d 6
dtype: int64
Numpy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的连接。
obj2
d 6
b 7
a -5
c 3
dtype: int64
obj2[obj2>0]
d 6
b 7
c 3
dtype: int64
obj2*2
d 12
b 14
a -10
c 6
dtype: int64
np.exp(obj2)
d 403.428793
b 1096.633158
a 0.006738
c 20.085537
dtype: float64
可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。可以用在许多原本需要字典参数的函数中。
'b' in obj2
True
'k' in obj2