Pandas-2. Series

1.构造函数

pandas.Series( data, index, dtype, copy)
参数 描述
data 数据,可以是各种形式,如:ndarray,list,constants
index 索引,必须是唯一的,散列的,与数据长度相同。默认为np.arange(n)
dtype 数据类型
copy 是否复制数据,默认false

2. 创建一个Series

以下代码默认引入pandas和numpy,平台为Anaconda启动的Jupyter:

import pandas as pd
import numpy as np

2.1 创建一个空Series

print(pd.Series())

输出

Series([], dtype: float64)

2.2 从ndarray创建一个Series

从ndarray创建时,如果传递索引,索引需要有相同的长度,如果没有传递索引,默认索引是范围(n)。
不传递索引的情况

data = np.array(["a", "b", "c", "d"])
print(pd.Series(data))

输出结果:

0    a
1    b
2    c
3    d
dtype: object

如果传递索引(例子中用了两个相同的索引)

data = np.array(['a','b','c','d'])
s = pd.Series(data,index=[101,103,105,105])
print(s[105])

输出结果

105    c
105    d
dtype: object

2.3 从字典创建一个Series

此时如果不指定索引,按照顺序取得字典键作为索引,如果指定了索引,索引与标签中对应的数据将会取出,对应不上的用空值表示。
不指定索引:

data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data)
print(s)

输出结果:

a    0.0
b    1.0
c    2.0
dtype: float64

指定索引

data = {'a' : 0., 'b' : 1., 'c' : 2.}
s = pd.Series(data,index=['b','c','d','a'])
print(s)

输出结果(以索引顺序为准,对应不上的填充nan:

b    1.0
c    2.0
d    NaN
a    0.0
dtype: float64

2.4 从标量创建Series

数据为标量值,必须提供索引,该值将被重复以匹配索引长度。

print(pd.Series(5, index=[0, 1, 2, 3]))

输出结果

0    5
1    5
2    5
3    5
dtype: int64

3. 访问Series

以下作为例子的Series从以下代码创建:

s = pd.Series([1,2,3,4,5],index = ['a','b','c','d','e'])

3.1 从位置

跟python访问数组一样的。注意这里的数组是取得“第多少个”,不是例子里的值,一串例子,不多解释:

print(s[3])
print(s[3:])
print(s[:3])
print(s[-3:])
print(s[:-3])

3.2 从索引

一个索引:

print(s["a"])

多个索引:

print(s[["a", "c"]]

你可能感兴趣的:(Pandas-2. Series)