1.Series类型:
*.由一组数据及与之相关的数据索引组成.
*.首先,Series有自动索引,但它还有自动索引,如:
import pandas as pd
b=pd.Series([4,6,8,3,6],index=["a","b","c","d","e"])
2.Series可由以下类型创建:
Python列表,标量值,Python字典,ndarray,其他函数.
*从标量值创建:
s=pd.Series(25,index=["a","b","c"])
这样创建的Series对象含有三个元素,值都是25,索引分别是"a","b","c"
*.从字典创建:
d=pd.Series({"a":9,"b":8,"c":7})
还可以e=pd.Series({"a":9,"b":8,"c":7},index=["c","a","b","d"])
能对上的都不变,只不过索引为"d"的值为NaN
*.从ndarray创建(非常常见):
n=pd.Series(np.arange(5),index=np.range(9,4,-1))
Series类型的基本操作:
Series类型包括index和values两部分,
*使用.index获得所有索引,返回结果的类型就叫Index
*使用.values获得数据.返回的结果是numpy的array类型
Series类型的操作类似ndarray类型,
*索引方法相同
*numpy中运算和操作可用于Series类型,
*可以通过自定义索引的列表进行切片
*也可以通过自动索引进行切片
Series类型的操作类似Python字典.
*自动索引(自己生成的索引)和自定义索引并存
*可以一次索引多个值
b["b"],b[["c","d","a"]]
*虽然两套索引并存,但不能混用
*.还有in的用法(看在不在索引里,不看值,不看自动索引)
"c" in b
*.还有get()
b.get("f",100)
如果没有这个自定义索引,就返回100
*方括号里还可以放条件,很想数据库的查询语句
b[b>median()]
Series类型对齐操作:
对于Series+Series
如果自定义索引的值相同,就进行运算.否则留下索引,值为NaN
会自动对其索引相同的值,是基于索引的运算,不像numpy是基于维度的运算
3.Series的name属性:
Series对象和索引都可以有一个名字,存储在,name中
b.name="第一个Series对象"
b.index.name="索引列"
可以随时修改并即刻生效
理解:Series其实是自定义索引和值的结合