1.Series介绍
Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签(索引)组成
eg:
第一列是数据标签,第二列是具体的数据,数据标签与数据是一一对应的
2.Series创建
import pandas as pd
方法:pd.Series()
给方法传入不同的对象即可实现创建Series对象
2.1 传入一个列表创建
2.1.1 只传入一个列表
s1 = pd.Series(["a", "b", "c", "d"])
print(s1)
result:
0 a
1 b
2 c
3 d
dtype: object
此时Series默认使用从0开始的数作为数据标签,上面的0、1、2、3就是默认的数据标签
2.1.2 传入列表和index参数
s2 = pd.Series([1, 2, 3, 4], index=["a", "b", "c", "d"])
print(s2)
result:
a 1
b 2
c 3
d 4
dtype: int64
可以通过index参数来自定义索引。此时展示的a, b, c, d就是自定义标签,替代了默认的从0开始的标签
2.2 传入字典创建
s3 = pd.Series({"a": 1, "b": 2, "c": 3, "d": 4})
print(s3)
result:
a 1
b 2
c 3
d 4
dtype: int64
此时字典的key就是数据标签,value就是数据值
这里有个问题需要注意,如果指定索引,则会按索引顺序。如果有无法与索引对应的值,则会产生缺失值
import pandas as pd
s = pd.Series({'b': 1, 'a': 0, 'c': 2}, index=['a', 'b', 'c', 'd', 'e'])
print(s)
result:
a 0.0
b 1.0
c 2.0
d NaN
e NaN
dtype: float64
2.3 传入ndarray创建
import pandas as pd
import numpy as np
s = pd.Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
print(s)
result:
a -1.128164
b -1.538805
c 0.412775
d -0.555028
e 0.830566
dtype: float64
2.4 传入标量
对于一个具体的值,如果不指定索引,其长度为1;如果指定索引,则长度为索引的长度
2.4.1 不指定索引
import pandas as pd
s = pd.Series(2)
print(s)
result:
0 2
dtype: int64
2.4.2 指定索引
import pandas as pd
s = pd.Series(2, index=['a', 'b', 'c'])
print(s)
result:
a 2
b 2
c 2
dtype: int64
3.获取索引
通过index方法获取Series的索引
s1 = pd.Series(["a", "b", "c", "d"])
print(s1.index)
result:
RangeIndex(start=0, stop=4, step=1)
4.获取值
通过values方法获取Series的值
s1 = pd.Series(["a", "b", "c", "d"])
print(s1.values)
result:
['a' 'b' 'c' 'd']