首页 > 编程笔记 > Python笔记 阅读:10

Pandas Series的用法(附带实例)

Pandas 中的 Series 是能够保存任何类型数据(整数、字符串、浮点数、Python 对象等)的一维标记数组。

Pandas 创建 Series 可以使用如下的构造函数:
pandas.Series(data, index, dtype, copy)

Pandas Series的创建

在 Pandas 中,创建一个 Series 有几种方法。

1) 创建空的Series

创建一个空的基本Series的实现代码为:
import pandas as pd
s=pd.Series()
print(s)
运行程序,输出如下:
Series([],dtype:float 64)

2) 从ndarray创建Series

如果数据是 ndarray,则传递的索引必须具有相同的长度。如果没有传递索引值,那么默认的索引将是范围(n),其中 n 是数组长度,即 [0,1,2,3,…,range(len(array))-1]-1]。

【实例】利用 ndarray 创建一个Series。
import pandas as pd
import numpy as np
data = np.array(['a','b','c','d'])
s = pd.Series(data)
print(s)
运行程序,输出如下:
0    a
1    b
2    c
3    d
dtype:object
这里没有传递任何索引,因此默认情况下,它分配了从 0 到 len(data)-1 的索引,即 0~3。

3) 从字典创建Series

字典(dict)可以作为输入传递,如果没有指定索引,则按排序顺序取得字典键以构造索引。如果传递了索引,索引中与标签对应的数据中的值将被拉出。

【实例】从给定的字典中创建一个 Series。
import pandas as pd
import numpy as np
data = {'a': 0., 'b': 1., 'c': 2.}
s = pd.Series(data, index=['b','c','d','a'])
print(s)
运行程序,输出如下:
b    1.0
c    2.0
d    NaN
a    0.0
dtype:float 64
索引顺序保持不变,缺少的元素使用 NaN(不是数字)填充。

4) 从标量创建Series

如果数据是标量值,则必须提供索引,并将重复该值以匹配索引的长度。

【实例】从标量创建一个Series。
import pandas as pd
import numpy as np
s = pd.Series(5, index=[0, 2, 5, 7])
print(s)
运行程序,输出如下:
0    5
2    5
5    5
7    5
dtype:int 64

Pandas Series数据的访问

Series 中的数据可以使用类似于访问 ndarray 中的数据来访问。

例如:
import pandas as pd
s = pd.Series([1,2,3,4,5], index = ['a','b','c','d','e'])
# 检索第一个元素
print(s[0])
运行程序,输出如下:
1

以下代码可以实现检索 Series 中的前三个元素。如果 a: 被插入到其前面,则从该索引向前的所有项目被提取。例如,检索两个索引之间的项目(不包括停止索引):
import pandas as pd
s = pd.Series([1,2,3,4,5], index = ['a','b','c','d','e'])
# 检索前三个元素
print(s[:3])
运行程序,输出如下:
a    1
b    2
c    3
dtype:int 64

如果要检索最后三个元素,代码为:
import pandas as pd
s = pd.Series([1,2,3,4,5], index = ['a','b','c','d','e'])
# 检索最后三个元素
print(s[-3:])
运行程序,输出如下:
c    3
d    4
e    5
dtype:int 64

使用Series检索数据(索引)

一个 Series 就像一个固定大小的字典,可以通过索引标签获取和设置值。

【实例】使用索引标签检索单个/多个元素。
import pandas as pd
s = pd.Series([1,2,3,4,5], index = ['a','b','c','d','e'])
# 检索单个元素
print(s['a'])
# 检索多个元素
print(s[['a','c','d']])
运行程序,输出如下:
1
a    1
c    3
d    4
dtype:int64

相关文章