【Python进阶(七)】——Series数据结构

简介: 【Python进阶(七)】——Series数据结构

【Python进阶(六)】——随机数与数组,建议收藏!

该篇文章主要讲解了Python数据结构之Series,首先阐述了该数据结构的特点,然后利用Python展示了其定义方法和操作方法。

1 Series的主要特点

  在Python的pandas库中,Series是一个一维的数组型对象,它能够保存任何数据类型(整数、字符串、浮点数、Python对象等),它带有一个轴标签(即索引),使得数据操作变得非常简单和直观。以下是Series的一些主要特点:

  1. 带有标签的一维数组:
  • Series对象类似于NumPy的一维数组(ndarray),但是每个元素都有一个与之相关联的索引标签。
  1. 索引:
  • Series的索引可以是任何数据类型(整数、字符串、日期时间等),这使得Series非常适合用于时间序列数据。
  • 索引是自动生成的,通常是0到N-1的整数,除非明确指定了其他索引。
  1. 数据类型:
  • Series可以保存任何数据类型,包括整数、浮点数、字符串、布尔值等。
  • 如果Series中的数据类型不一致,它会自动转换为最通用的数据类型(例如,将整数转换为浮点数以包含小数)。
  1. 数据操作:
  • 提供了许多用于数据分析和处理的方法,如算术运算、排序、筛选、分组等。
  • 可以使用索引或条件表达式来访问或修改Series中的元素。
  1. 与DataFrame的兼容性:
  • Series是pandas中更复杂的二维数据结构DataFrame的基础。
  • 可以将多个Series组合成一个DataFrame,或将DataFrame的列视为单独的Series对象进行处理。
  1. 内存效率:
  • 与纯Python列表相比,Series对象在内存使用上更加高效,因为它们使用了NumPy的底层数组结构。
  1. 缺失数据处理:
  • Series支持缺失数据(NaN),这使得它非常适合处理现实世界中的数据集,其中可能包含缺失或无效的值。
  • 提供了多种方法来处理缺失数据,如填充、删除或插值。
  1. 绘图集成:
  • Series对象与Matplotlib等绘图库无缝集成,可以轻松创建各种数据可视化图表。
  1. 与NumPy的兼容性:
  • Series的底层实现基于NumPy的数组,因此它继承了NumPy的许多功能和性能优势。
  1. 扩展性:
  • 可以使用自定义的函数和方法来扩展Series的功能,以满足特定的数据分析需求。

2 Series的定义方法

  运行程序:

import pandas as pd
mySeries1=pd.Series(data = [11,12,13,14,15,16,17],index=["a","b","c","d","e","f","g"]) 
mySeries1

  运行结果:

a    11
b    12
c    13
d    14
e    15
f    16
g    17
dtype: int64

PS :

1.pd.Series([11,12,13,14,15,16,17], index=[a,b,c,d,e,f,g]) #index为字符串时,需要双引号或单引号;

2.当data只包含一个元素时,series对象的定义支持“循环补齐”;

3.当series值多与一个时,值数和索引数需一致。

3 Series的操作方法

  运行程序:

import pandas as pd
mySeries4=pd.Series([21,22,23,24,25,26,27], index=["a","b","c","d","e","f","g"]) 
mySeries4.index#显示索引
mySeries4.values  #显示值
mySeries4['b']#索引b所对应值
mySeries4["b"] #索引b所对应值
mySeries4[["a","b","c"]]  #索引a、b、b所对应值
mySeries4["a":"d"] #索引a-d所对应值
mySeries4[1:4:2]#第2个-第5个,步长为2
mySeries4
"c" in mySeries4 #判断索引c是否在series中
"h" in mySeries4#判断索引h是否在series中
import pandas as pd
mySeries4=pd.Series([21,22,23,24,25,26,27], index=["a","b","c","d","e","f","g"]) 
mySeries5=mySeries4.reindex(index=["b","c","a","d","e","g","f"]) #修改索引
mySeries5 
mySeries5=mySeries4.reindex(index=["b","c","a","d","e","g","f"]) #修改索引
mySeries4 
mySeries5=mySeries4.reindex(index=["new1","c","a","new2","e","g","new3"])#更新索引次序,不存在则为nan
mySeries5
mySeries4

  运行结果:

array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
       [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])
array([[1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1.]])Index(['a', 'b', 'c', 'd', 'e', 'f', 'g'], dtype='object')
array([21, 22, 23, 24, 25, 26, 27], dtype=int64)
22
22
a    21
b    22
c    23
dtype: int64
a    21
b    22
c    23
d    24
dtype: int64
b    22
d    24
dtype: int64
a    21
b    22
c    23
d    24
e    25
f    26
g    27
dtype: int64
True
False
b    22
c    23
a    21
d    24
e    25
g    27
f    26
dtype: int64
a    21
b    22
c    23
d    24
e    25
f    26
g    27
dtype: int64
new1     NaN
c       23.0
a       21.0
new2     NaN
e       25.0
g       27.0
new3     NaN
dtype: float64
a    21
b    22
c    23
d    24
e    25
f    26
g    27
dtype: int64


相关文章
|
20天前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
114 66
|
1月前
|
存储 数据挖掘 数据处理
掌握Pandas核心数据结构:Series与DataFrame的四种创建方式
本文介绍了 Pandas 库中核心数据结构 Series 和 DataFrame 的四种创建方法,包括从列表、字典、标量和 NumPy 数组创建 Series,以及从字典、列表的列表、NumPy 数组和 Series 字典创建 DataFrame,通过示例详细说明了每种创建方式的具体应用。
188 67
|
2月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
160 59
|
3月前
|
算法 开发者 计算机视觉
燃爆全场!Python并查集:数据结构界的网红,让你的代码炫酷无比!
在编程的世界里,总有一些数据结构以其独特的魅力和高效的性能脱颖而出,成为众多开发者追捧的“网红”。今天,我们要介绍的这位明星,就是Python中的并查集(Union-Find)——它不仅在解决特定问题上大放异彩,更以其优雅的设计和强大的功能,让你的代码炫酷无比,燃爆全场!
49 0
|
2月前
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
100 55
|
24天前
|
存储 运维 监控
探索局域网电脑监控软件:Python算法与数据结构的巧妙结合
在数字化时代,局域网电脑监控软件成为企业管理和IT运维的重要工具,确保数据安全和网络稳定。本文探讨其背后的关键技术——Python中的算法与数据结构,如字典用于高效存储设备信息,以及数据收集、异常检测和聚合算法提升监控效率。通过Python代码示例,展示了如何实现基本监控功能,帮助读者理解其工作原理并激发技术兴趣。
56 20
|
30天前
|
存储 数据挖掘 索引
Pandas数据结构:Series与DataFrame
本文介绍了 Python 的 Pandas 库中两种主要数据结构 `Series` 和 ``DataFrame`,从基础概念入手,详细讲解了它们的创建、常见问题及解决方案,包括数据缺失处理、数据类型转换、重复数据删除、数据筛选、排序、聚合和合并等操作。同时,还提供了常见报错及解决方法,帮助读者更好地理解和使用 Pandas 进行数据分析。
87 10
|
2月前
|
存储 开发者 索引
Python 中常见的数据结构
这些数据结构各有特点和适用场景,在不同的编程任务中发挥着重要作用。开发者需要根据具体需求选择合适的数据结构,以提高程序的效率和性能
|
2月前
|
存储 算法 搜索推荐
Python 中数据结构和算法的关系
数据结构是算法的载体,算法是对数据结构的操作和运用。它们共同构成了计算机程序的核心,对于提高程序的质量和性能具有至关重要的作用
|
2月前
|
数据采集 存储 算法
Python 中的数据结构和算法优化策略
Python中的数据结构和算法如何进行优化?

热门文章

最新文章