人工智能之数据分析 Pandas:第二章 Series - 实践

news/2026/1/18 19:01:03/文章来源:https://www.cnblogs.com/yangykaifa/p/19498958

人工智能之数据分析 Pandas

第二章 Series



前言

Pandas 的 Series 是其最基础、最核心的一维数据结构,是学习 Pandas 的起点。本文从定义、特点、创建方式、常用操作、注意事项等方面进行系统而详细的介绍。


一、什么是 Series?

Series 是一个带标签索引的一维数组,由两部分组成:

✅ 简单理解:Series = 字典 + 数组


二、Series 的核心特点

特性说明
一维结构只有一列数据
自动对齐运算时按索引对齐,不匹配的位置返回 NaN
支持缺失值使用 NaN 表示缺失数据
可命名可通过 name 参数设置名称(常用于转为 DataFrame 的列名)
索引可重复允许重复索引(但会影响唯一访问)
不可变大小(默认)创建后长度固定,但可通过 appenddrop 等生成新对象

三、创建 Series 的 4 种主要方式

1. 从列表或 NumPy 数组创建

import pandas as pd
import numpy as np
# 列表(默认整数索引)
s1 = pd.Series([10, 20, 30])
# 自定义索引
s2 = pd.Series([10, 20, 30], index=['a', 'b', 'c'], name='成绩')
# 从 NumPy 数组
arr = np.array([1.1, 2.2, 3.3])
s3 = pd.Series(arr, index=['x', 'y', 'z'])

2. 从字典创建(最常用之一)

data_dict = {'数学': 90, '语文': 85, '英语': 95}
s4 = pd.Series(data_dict)  # 字典的 key → index,value → data
# 若指定 index 中有字典未包含的键,则对应值为 NaN
s5 = pd.Series(data_dict, index=['数学', '物理'])
# 输出:数学 90.0,物理 NaN(注意 dtype 变为 float64)

3. 用标量(单个值)创建

s6 = pd.Series(5, index=['A', 'B', 'C'])
# 所有位置都填充为 5
# A    5
# B    5
# C    5

4. 创建空 Series

empty_s = pd.Series(dtype='float64')  # 必须指定 dtype

四、Series 的常用属性与方法

属性/方法说明示例
.index获取索引s.index
.values获取数据(NumPy 数组)s.values
.name获取或设置名称s.name = '分数'
.dtype数据类型s.dtype
.shape形状(如 (3,)s.shape
.size元素总数s.size
.isnull() / .notnull()判断是否为 NaNs.isnull()
.unique()返回唯一值s.unique()
.value_counts()统计各值出现次数s.value_counts()
.describe()描述性统计(均值、标准差等)s.describe()
.sort_values()按值排序s.sort_values()
.sort_index()按索引排序s.sort_index()
.astype('float64')类型转换s.astype('str')
.to_list()转为 Python 列表s.to_list()
.to_frame()转为 DataFrames.to_frame()

五、数据访问与操作

1. 访问元素

s = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
s['a']        # 标签索引 → 1
s[0]          # 位置索引 → 1(不推荐,易混淆)
s.loc['a']    # 显式索引(推荐)
s.iloc[0]     # 隐式位置索引(推荐用于位置访问)

2. 切片

s['a':'c']      # 显式切片 → 包含 'c'(前闭后闭)
s.iloc[0:2]     # 隐式切片 → 不包含索引 2(前闭后开)

3. 修改与增删

s['b'] = 20     # 修改
s['e'] = 5      # 新增(自动扩展)
del s['a']      # 删除(原地修改)
s_new = s.drop('c')  # 返回新 Series,不修改原对象

4. 向量化运算与过滤

s * 2           # 所有元素 ×2
s[s > 3]        # 布尔索引:筛选值大于 3 的元素
np.sqrt(s)      # 应用 NumPy 函数

六、重要注意事项

  1. 索引对齐机制
    两个 Series 运算时,Pandas 会自动按索引对齐,非公共索引位置结果为 NaN

    s1 = pd.Series([1, 2], index=['a', 'b'])
    s2 = pd.Series([3, 4], index=['b', 'c'])
    print(s1 + s2)
    # a    NaN
    # b    6.0
    # c    NaN
  2. NaN 的处理

    • NaN != NaN,不能用 == 判断,应使用 isnull()pd.isna()
    • NaN 的 Series,dtype 通常为 float64
  3. 索引可重复,但慎用
    重复索引会导致 s['key'] 返回多个值(Series 而非标量)

  4. 性能提示

    • 尽量避免频繁修改 Series(如循环中赋值),建议一次性构建
    • 使用 .loc / .iloc 提高代码可读性和安全性

七、总结

Series 是 Pandas 的基石

  • 它融合了数组的高效计算与字典的灵活索引;
  • 是构建 DataFrame 的基本单元(DataFrame 的每一列就是一个 Series);
  • 掌握 Series,就掌握了 Pandas 数据操作的核心逻辑。

后续

python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1179146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么大多数 LLM 在金融和医疗中会“系统性偏保守”

一个常见误解很多人认为:“模型在高风险场景中偏保守,是因为安全对齐或合规要求。”这只是表象。真正原因:执行态被风险信号劫持在缺乏执行态约束的系统中:风险词情绪词责任暗示会直接触发模型进入:防御 / 回避 / 模糊…

WSL2 Win11 Ubuntu22.04 D盘安装 参考的教程记录

主要参考这个教程下载:https://kwanwaipang.github.io/WSL/ 怎样移动到D盘:https://zhuanlan.zhihu.com/p/23313784318

企业内部模型上线前,必须补上的一项测试:执行态稳定性

一个现实问题很多企业在模型上线前,会测试:准确率延迟成本幻觉率但几乎不测试:执行态是否稳定为什么这是一个严重缺口因为事故往往不是:完全错误而是:执行态不一致上线前最小 Gate 清单(简化版)…

通用 LLM 执行态稳定性标准(Draft v1.0)Universal LLM Execution State Stability Standard · U-ESS v1.0 发布

好,这一步我会完全按 CSDN 的“工程师可读 不被当成情绪输出 不显得在挑事”的发布逻辑来做。 下面是 可直接发布到 CSDN 的成稿版本,不是草稿、不是概要,你复制即可发。通用 LLM 执行态稳定性标准(Draft v1.0)——高…

调色板示例颜色数据获取-基于 Flutter × OpenHarmony

文章目录调色板示例颜色数据获取-基于 Flutter OpenHarmony前言背景Flutter Harmony OpenHarmony 跨端开发介绍开发核心代码代码解析心得总结调色板示例颜色数据获取-基于 Flutter OpenHarmony 前言 在移动端开发中,颜色调色板是 UI 设计和视觉一致性的核心元素…

【多智能体控制】多智能体点对点转移的分布式模型预测控制【含Matlab源码 14976期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…

UE 增强输入(2)

(10) (11) 谢谢

dify制作的工作流如何通过API调用

大家在基于dify开发Workflow和Agent,一般都是通过dify提供app功能直接提供使用,或者通过嵌入到其他页面中使用,但是还有一种情况,特别是针对各种数据处理的Workflow,需要通过程序调用,返回数据供其他app使用。该如何做呢?本文主要基于dify,将通过工作流发布的API,通过…

(5-2)UCLASS(..) 的参数

(12) (13) 谢谢

远程Ubantu Mysql安装 + 本地Windows Navicat连接

远程Ubantu Mysql安装 + 本地Windows Navicat连接安装过程 Mysql安装配置过程Mysql在ubantu安装直接使用apt命令安装sudo apt-get install mysql-server mysql-client -y启动mysql服务sudo systemctl start mysql使用r…

CCF T3

CCF T3 没什么太特殊的,注意到全局旋转操作复杂度太高,考虑打个懒标记进行局部旋转。(别忘了对翻转标记进行旋转,因为这么一个唐诗问题调了2h我也是神人了) #include<bits/stdc++.h> using namespace std; …

2026年国产时序数据库市场全景:从技术突破到行业落地

摘要&#xff1a; 进入2026年&#xff0c;在“数字中国”与工业物联网浪潮的强劲推动下&#xff0c;国产时序数据库市场持续繁荣&#xff0c;竞争格局日趋清晰。本文将对当前主流的国产时序数据库进行梳理盘点&#xff0c;并特别聚焦于金仓数据库&#xff08;Kingbase&#xff…

Ubuntu安装Lamp

Ubuntu安装Lamp本文将为您提供一个在Ubuntu服务器上搭建LAMP(Linux, Apache, MySQL, PHP)环境的完整指南。通过本文,您将学习如何安装和配置Apache、MySQL、PHP,并将您的PHP项目部署到服务器上。本文适用于Ubuntu …

(6-1)常见类的继承关系

&#xff08;12&#xff09; &#xff08;13&#xff09; 谢谢

【程序员必看+收藏】AI Agent:从聊天机器人到数字员工的智能革命指南

文章全面解析了AI Agent的核心概念、工作原理与开发实践。AI Agent是基于大语言模型的智能体&#xff0c;具备自主规划、记忆存储和工具调用能力&#xff0c;能独立完成复杂任务。文章详细介绍了Agent的三大核心能力&#xff08;规划、记忆、工具使用&#xff09;、ReAct工作模…

How to do A/B test?

1 Pre-Experiment & Preparition 1.1 Define Clear Objective & Metrics You must move beyond a vague "affects the final results." What part of the algorithm are you changing? (e.g., scor…

铁轨轨道安全障碍物检测数据集VOC+YOLO格式620张6类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数)&#xff1a;620标注数量(xml文件个数)&#xff1a;620标注数量(txt文件个数)&#xff1a;620标注类别数&…

CodeArts Doer代码智能体

什么是CodeArts Doer代码智能体 CodeArts Doer代码智能体是一款集代码大模型、AI IDE、代码Agent为一体的智能编码产品。面向代码生成、研发知识问答、单元测试用例生成、代码解释、代码注释、代码调试、代码翻译、代码检查、代码优化等场景功能&#xff0c;为开发者提高研发效…

(6-2)常见类的继承关系

&#xff08;13&#xff09; &#xff08;14&#xff09; 谢谢

大模型驱动的知识图谱构建全攻略:从传统方法到前沿进展,一篇读懂LLM如何重塑知识工程

本文系统综述了大语言模型(LLM)驱动的知识图谱构建最新进展&#xff0c;深入分析了LLM如何重塑本体工程、知识抽取和知识融合三大核心环节。文章对比了基于模式和无模式两种范式&#xff0c;指出LLM正推动知识图谱从静态规则系统向动态生成生态转变。未来研究方向包括基于知识图…