数据处理库Pandas的数据结构Series

Series是一种一维数据结构,每个元素都带有一个索引,与一维数组的含义相似,其中索引可以为数字或字符串,如图3-1所示。

Series 对象包含两个主要的属性:index 和 values,分别为上例中的左右两列。因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键-值对结构,就会生成 index-value 对应的 Series;或者在初始化的时候以关键字参数显式指定一个 index 对象。

示例代码如下,Series类似于一维数组,但Series最大的特点就是可以使用标签索引。ndarray也有索引,但它是位置索引,Series的标签索引使用起来更加方便。

复制代码
import pandas as pd
import numpy as np
mylist = list('abced')
myarr = np.arange(5)
ser1 = pd.Series(mylist)
ser2 = pd.Series(myarr)
ser3 = pd.Series([1,3,6],index=['a','b','c'])
print(ser1)
print(ser2)
print(ser3)
print(ser3[['c','b']])

运行结果如图3-2所示。

注意:Series 的 index 和 values 的元素之间虽然存在对应关系,但这与字典的映射不同。index 和 values 实际仍为互相独立的 ndarray 数组,因此 Series 对象的性能完全没问题。

本文节选自《PyTorch深度学习与企业级项目实战》,获出版社和作者授权发布。

相关推荐
Logic1012 小时前
C语言/数据结构位运算题解:异或XOR找出货船中的“独特载货量“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
彧azz2 小时前
DFS与BFS:图遍历的两大核心算法
数据结构·学习·算法·深度优先·广度优先
青山木4 小时前
Hot 100 --- 最长递增子序列
java·数据结构·算法·leetcode·动态规划
土司大王4 小时前
LeetCode hot100——33.搜索旋转排序数组:Java 二分模板与 O(log n) 实现
数据结构·算法·leetcode
程序员阿鹏5 小时前
如何实现MySQL分库分表?
数据结构·数据库·sql·mysql·缓存
智购科技无人售货机工厂6 小时前
2026自动售货机AI智能体架构:从47个小模型到33.7亿Token的工程实践~YH
android·人工智能·驱动开发·单片机·pandas
ysu_03146 小时前
08-二叉树遍历:四种方式详解
c语言·数据结构·算法·leetcode
Lyyaoo.7 小时前
【二分查找】【中等】搜索二维矩阵/排序数组的第一位和最后位置/搜索旋转排序数组/旋转排序数组中的最小值
java·数据结构·算法
Lyyaoo.8 小时前
【二分查找】【困难】寻找两个有序数组的中位数
java·数据结构·算法
有点。8 小时前
C++03阶段练习(一)
数据结构·c++