先提兴一下:Series在python中是区分大小写的。
#数据结构Series
#1、数据结构对象
"""
Series是在Pandas库中出现的数据结构
每个Series对象实际上都由两个相互关联的数组组成,其中主数组用来存放数据。
主数组的每个元素都有一个与之相关联的标签,这些标签存储在Index的数组中
如果不指定索引,默认生成的索引是0到N-1
通过Series对象的values和index属性 分别获取对应的值和索引
例如:
"""
import numpy as np
import pandas as pd
b = pd.Series([1,2,3,4])
print(b)
"""
输出:
0 1 第一列为索引,默认为0-k
1 2 第二列为values的值
2 3
3 4
"""
print(b.values)
#dtype: int64 [1 2 3 4]
print(b.index)
#RangeIndex(start=0, stop=4, step=1)
#索引是默认的,当然也可以通过修改索引来更好地应用再实际操作中,如:
b= pd.Series([1,2,-2,0], index=["a","b","c","d"])
print(b)
"""
a 1
b 2
c -2
d 0
dtype: int64
"""
#通过使用索引来获取和设置对应的值,如:
print(b['b'])
#输出2
#2、创建Series的方法(再次提兴S要大写)
#利用实数,如
pd.Series(3, index=list("abc"))
#利用列表,如
pd.Series(list("Hello"))
#利用元组,如
pd.Series(tuple("Hello"))
#利用ndarray数组,如
pd.Series(np.zeros(5))
#利用字典,如
pd.Series({"name":"tom","age":22})
#说下Series与字典的关系:
"""
Series不仅可以从字典创建,也可以认为Series是一个长度固定且有序的字典
Series将索引值和数据值按位置配对
在使用字典的上下文中都可以使用Series,如obj[‘b’]为3
通过字典生成Series,默认自动排序,也可以指定索引顺序
"""
b = pd.Series({'e':5,'b':3,'f':4}, index = ['a','b','e'])
print(b)
"""
输出:
a NaN
b 3.0
e 5.0
dtype: float64
可以看到因为没有a的索引 ,所以值为NaN
"""