本文是学习《利用Python进行数据分析》的部分笔记,在这里感谢作者。
一:导入pandas
from pandas import Series,DataFrame
>>> import pandas as pd
二,series的有关介绍
Series类似于一维数组,它由一组数据以及一组与之相关的索引组成。由一组数据产生
obj=Series([4,7,-5,3])
>>> obj
0 4
1 7
2 -5
3 3
dtype: int64
可以在创建的过程中指定索引内容:
obj=Series([4,7,-5,3],index=['d','b','a','c'])
>>> obj
d 4
b 7
a -5
c 3
values属性可以获得数组值,index属性获得索引值:
>>> obj.values
array([ 4, 7, -5, 3], dtype=int64)
>>> obj.index
Index(['d', 'b', 'a', 'c'], dtype='object')
Numpy数组可进行的操作,如根据布尔型数组进行过滤,标量乘法,应用数学函数等都会保留索引与值之间的连接。
>>> obj[obj>2]
d 4
b 7
c 3
可以用in判断元素是否在Series中。
'b' in obj
True
可以通过字典创建Series:
>>> sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
>>> obj3=Series(sdata)
>>> obj3
Ohio 35000
Oregon 16000
Texas 71000
Utah 5000
传入字典的键作为索引,会自动匹配,不存在的为NAN
>>> states=['California','Ohio','Oregon','Texas']
>>> obj4=Series(sdata,index=states)
>>> obj4
California NaN
Ohio 35000.0
Oregon 16000.0
Texas 71000.0
在这个例子中,sdata中跟states索引相匹配的三个值会找出并放在相应的位置上。
pandas的isnull和notnull函数可用于检测缺失值
pd.isnull(obj4)
California True
Ohio False
Oregon False
Texas False
dtype: bool>> >
pd.notnull(obj4)
California False
Ohio True
Oregon True
Texas True
dtype: bool>> >
Series最重要的功能是,他在算术运算中会自动对其不同索引的数据
obj3+obj4
California NaN
Ohio 70000.0
Oregon 32000.0
Texas 142000.0
Utah NaN
dtype: float64
Series的索引可以通过赋值的方式直接修改:
obj
d 4
b 7
a -5
c 3
dtype: int64>> >
obj.index=['Bob','Steve','Jeff','Ryan']
>>> obj
Bob 4
Steve 7
Jeff -5
Ryan 3