Python的Series序列对象

Python的Series序列对象本文详细介绍了 Pandas 库中 Series 数据结构的获取方法 包括使用 Series 函数和 DataFrame 获取 以及 Series 对象的属性 位置索引 标签索引访问和布尔索引

大家好,欢迎来到IT知识分享网。

 Python的Series序列对象

目录

前言

一、Series序列对象的获取 

1.使用Series()函数

2.利用DataFrame获取

二、Series序列对象的属性

三、Series序列对象的访问

1.通过位置索引访问

2.通过标签索引访问

3.通过布尔索引访问

四、Series序列对象的计算

1.基本数学运算

2.统计计算


前言

        在Python的Pandas库中,Series是一种基本的数据结构,用于存储一维数组,并可以带有标签。利用pandas库从外部读取数据到python中形成的表格叫DataFrame表格对象,而Series序列对象就是DataFrame表格对象中的某一列数据。

        Series序列对象在数据分析中非常有用,可以用于存储和处理单变量的数据集。它提供了许多方法和属性,用于执行各种数据操作和分析任务。

一、Series序列对象的获取 

首先需要导入pandas库:

import pandas as pd 

1.使用Series()函数

创建Series对象可以使用Pandas库中的Series函数。例如,以下代码创建一个包含整数1到6的Series对象:

a = pd.Series([1, 2, 3, 4, 5, 6]) 

输出结果如下:

0 1 1 2 2 3 3 4 4 5 5 6 dtype: int64

 2.利用DataFrame获取

DataFrame是一个二维的表格型数据结构,每个列都是一个Series对象。可以通过列名来获取DataFrame中的Series对象:

data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data) b = df['A'] # 获取名为'A'的列,即一个Series对象 

输出结果如下:

0 1 1 2 2 3 Name: A, dtype: int64

二、Series序列对象的属性

Series序列对象具有多种属性,包括但不限于:

属性 含义
values 元素(值)
index 索引
name 名称
dtypes 元素类型
size 元素个数
ndim 维度数
shape 数据形状(行列数目)

下面是一个简单的示例代码,演示如何使用Pandas库中的Series对象的属性:

series = pd.Series([1,2,3,4,5]) #创建一个示例的Series对象 print(series.values) # 值 print(series.index) # 索引 print(series.name) # 名称 print(series.dtypes) # 数据类型 print(series.size) # 数据个数 print(series.ndim) # 维度数 print(series.shape) #数据形状(行列数目)

输出结果如下:

[1 2 3 4 5] RangeIndex(start=0, stop=5, step=1) None int64 5 1 (5,)

        在这个示例中,创建了一个包含整数1到5的Series对象,使用不同的属性来获取有关序列的信息,例如索引、形状、值、数据类型、以及元素个数。

三、Series序列对象的访问

1.通过位置索引访问

        类似于列表的访问方式,使用元素的下标进行访问。

例如:

# 创建一个示例的Series对象 d = pd.Series([1, 2, 3, 4, 5]) # 使用位置索引访问元素 print(d[0]) print(d[3]) 

输出结果如下:

1 4

        在这个示例中,d[0]访问序列中的第一个元素,d[3]访问序列中的第四个元素。

2.通过标签索引访问

        类似于字典的访问方式,使用索引标签作为键来访问元素。

例如:

# 创建一个示例的Series对象 c = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) # 使用标签索引访问元素 print(c['a']) print(c['e']) 

输出结果如下:

1 5

在这个示例中,c[‘a’]访问索引标签为’a’的元素,c[‘e’]访问索引标签为’e’的元素.

3.通过布尔索引访问

        在Pandas中,可以使用布尔索引来根据条件访问Series对象中的元素。布尔索引是指使用一个布尔条件来过滤Series对象中的元素,并返回满足条件的元素。

例如:

# 创建一个示例的Series对象 s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) # 使用布尔索引根据条件访问元素 condition = s > 2 print(s[condition]) 

输出结果如下:

c 3 d 4 e 5 dtype: int64

        在上面的代码中,我们首先创建了一个示例的Series对象s。然后,我们定义了一个布尔条件s > 2,该条件将返回一个与Series对象相同长度的布尔Series对象,其中大于2的元素为True,小于等于2的元素为False。最后,我们使用s[condition]来访问满足条件的元素,即大于2的元素。

        需要注意的是,布尔索引返回的是一个与原始Series对象相同类型的Series对象,但只包含满足条件的元素。如果条件不满足任何元素,将返回一个空的Series对象。

四、Series序列对象的计算

1.基本数学运算

        加法、减法、乘法、除法等基本数学运算可以直接对Series对象进行使用。

        Series与一个数值做运算,Series中的每个值均和这个值做运算。

例如:

s = pd.Series([1, 2, 3, 4, 5]) # 加法 result1 = s + 2 print(result1) # 减法 result2 = s - 1 print(result2) # 乘法 result3 = s * 3 print(result3) # 除法 result4 = s / 2 print(result4) 

输出结果如下:

0 3 1 4 2 5 3 6 4 7 dtype: int64 0 0 1 1 2 2 3 3 4 4 dtype: int64 0 3 1 6 2 9 3 12 4 15 dtype: int64 0 0.5 1 1.0 2 1.5 3 2.0 4 2.5 dtype: float64

        Series之间进行运算时,并不是下标一一对应,而是索引一一对应计算。

例如:

s = pd.Series([2, 5, 16, 9, 20], index=['a', 'b', 'c', 'd', 'e']) v = pd.Series([6, 14, 9, 25, 5], index=['b', 'c', 'd', 'e', 'f']) print(s * v)

 输出结果如下:

a NaN b 30.0 c 224.0 d 81.0 e 500.0 f NaN dtype: float64

s缺索引为’f’、v缺索引为’a’的值,所以在两个Series进行运算时,在索引’a’上v为NaN值,在索引’f’上s为NaN值,进行运算时,这两个索引值上对应的运算结果便会成为NaN。 

2.统计计算

        Pandas提供了许多统计函数,如mean()median()sum()min()max()等,可以用于计算Series对象的统计值。

例如:

# 创建一个示例的Series对象 s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e']) # 求和 print(s.sum()) # 求平均值 print(s.mean()) # 求中位数 print(s.median()) # 求最大值 print(s.max()) # 求最小值 print(s.min()) 

输出结果如下:

15 3.0 3.0 5 1

以上就是Series序列对象的主要内容。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/142385.html

(0)
上一篇 2025-05-10 19:33
下一篇 2025-05-10 19:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信