您的位置:首页 > 理论基础 > 数据结构算法

pandas (1) Series数据结构

2018-01-26 10:04 465 查看
import numpy as np
import pandas as pd
from pandas import Series

#1.创建一个有默认索引的Series,Series是一种类似与一维数组的对象,
# 它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成
obj = Series([4, 7, -5, 3])
print(obj)

#2.通过Series的values和index属性获取数组表示形式和索引对象
print(obj.values)
print(obj.index)

#3.显示创建Series的索引,注意索引个数与数据的个数要一致
obj2 = Series([4, 7, -5, 3], index=['a', 'b', 'c', 'd'])
print(obj2)
print(obj2.values)
print(obj2.index)

#4.通过索引方式获取Series单个或一组值
print(obj2['a'])
print(obj2[['a', 'b', 'c']])

#5.Numpy数组运算(如根据布尔数组进行过滤,标量乘法,应用数学函数等)都会保留索引和值直接的链接
print(obj2[obj2 > 0])
print(obj2 * 2)
print(np.exp(obj2))

#6.Series看成是一个定长的有序字典,它可以用在许多原本需要字典的函数中
print('b' in obj2)
print('e' in obj2)

#7.如果数据被存放在一个字典中,可以直接通过字典来创建Series
sdata = {'one': 1000, 'two': 2000, 'three': 3000}
obj3 = Series(sdata)
print(obj3)

#8.sdata中跟states索引相匹配的那3个值会被找出来放到相应的位置上,
#"four"所对应的值找不到,所以其结果为NaN
states = ['one', 'two', 'three', 'four']
obj4 = Series(sdata, states)
print(obj4)

#9.pandas的isnull和notnull函数可用于检测缺失数据
print(pd.isnull(obj4))
print(pd.notnull(obj4))

#10.Series也有类似的实例方法
print(obj4.isnull())

#11.Series最重要的功能是:在算数运算中会自动对齐不同索引的数据
print(obj3 + obj4)

#12.Series对象本身及其索引都有一个name属性,可以对这个name属性直接赋值
obj4.name = 'demo'
obj4.index.name = 'state'
print(obj4)

#13.Series的索引可以通过赋值的方式直接修改,注意索引个数与数据的个数要一致
obj4.index = ['Bob', 'Steve', 'Jeff', 'Ryan']
print(obj4)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: