'''
pandas中除了panel数据结构,还引入两种数据结构Series和DataFrame,这两种数据结构都建立在Numpy基础之上。
Series:一维数组序列,与Numpy中的array相似
DataFrame,二维表格型数据结构,可以理解为是Series的容器
Panel:三维的数据结构,可以理解为DataFrame的容器
'''
#导入Series包
from pandas import Series
#定义一个Series序列的数据
X=Series(['a','螃蟹','疯子'],index=[1,2,3]);
#一个系列允许存放多种数据类型,索引(index)也可以省略
print(X);
#通过索引可以访问数据
print('---------------------')
print(X[2]);
#如果没有索引的话,则索引默认为从0开始
A=Series([1,2,3]);
print(A);
#如果索引为字符类型的话,则需要使用单引号
B=Series([1,2,3],index=['A','B','C']);
print(B);
print('--------------------------')
#如果索引号超过其长度时候会报错
X=Series(['a',1,True],index=['frist','second','third']);
print(X)
print(X['frist'])#通过索引名来访问元素
print(X[1])#通过索引号来访问元素S
#序列不能追加一个元素,但是能够追加一个序列
n=Series(['hello wprld']);#定义一个序列
X=X.append(n)#添加一个序列,返回一个新的序列,默认序列号从0开始
print('--------------------')
print(X);
print('--------------------')
#判断值是否在序列里面
print(1 in X.values);#存在的话返回true
print("----------------------")
print(2 in X.values);#不存在的话返回false
#序列的删除
###通过索引号删除
###通过索引的名字删除
X.drop(0)#删除索引号为0的值
print(X)
X.drop('frist')#通过索引名字进行删除
print(X);
print('-----------------------')
#Series中的soft_index方法可以对index进行排序操作,默认为升序
obj=Series([4.5,7.2,-5,3.6],index=['d','b','a','c']);
print(obj)
obj2=obj.reindex(['a','b','c','d','e']);
print(obj2)
print("----------------------")
obj3=obj.reindex(['a','b','c','d','e'],fill_value=0)
print(obj3)