大家好,欢迎来到IT知识分享网。
目录
前言
在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