news 2026/8/28 8:09:08

Pandas Series 超全常用方法整理|零基础入门必备(附完整代码案例)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pandas Series 超全常用方法整理|零基础入门必备(附完整代码案例)

在Python数据分析中,Pandas是最核心的工具库,而Series是Pandas最基础的数据结构,是构建DataFrame的基石。掌握Series的各类操作方法,是玩转数据分析的第一步。

今天结合实战代码案例,从零整理Series数据访问、切片查询、数据修改、筛选匹配、统计计算、索引操作、缺失值处理、去重排序全场景常用方法,新手可直接收藏复用!

前置依赖:提前导入库import pandas as pd

一、Series 基础创建

Series是Pandas中最基础的数据结构,掌握其创建方式是后续所有操作的前提。下面介绍4种最常用的创建方式,覆盖不同数据来源场景。

1. 创建Series对象,采用:默认自增索引

直接传入Python列表,不指定索引,Pandas会自动生成从0开始的整数下标作为默认索引。

# 创建Series对象,采用默认自增索引 s_default = pd.Series([10, 20, 30, 40]) print(s_default)

2. 创建Series对象,采用:自定义索引

通过index参数指定自定义索引标签,便于按业务含义定位数据,是实际开发中最常用的方式。

# 创建Series对象,采用自定义索引 s_custom = pd.Series([88, 92, 85], index=['张三', '李四', '王五']) print(s_custom)

3. 创建Series对象,采用:字典或元组创建

传入字典时,键自动成为索引、值成为数据;传入元组时,与列表类似,索引默认为自增整数。

# 通过字典创建Series,键作为索引 s_dict = pd.Series({'a': 1, 'b': 2, 'c': 3}) print(s_dict) # 通过元组创建Series,索引默认为自增整数 s_tuple = pd.Series((5, 6, 7, 8)) print(s_tuple)

4. 创建Series对象,采用:使用numpy创建

传入NumPy数组,适合与数值计算场景衔接,索引同样默认为整数下标。

import numpy as np # 使用numpy数组创建Series s_np = pd.Series(np.array([1, 2, 3, 4, 5])) print(s_np)

核心特点:Series由「索引index」和「数值values」两部分组成,索引可自定义,区别于普通列表。

除了上述4种方式,Series还支持通过标量值创建通过DataFrame的列创建,覆盖更多数据来源场景:

5. 通过标量值创建

传入单个标量并指定索引,所有索引位置都会填充该标量值。

# 通过标量创建,所有索引位置填充同一个值 s_scalar = pd.Series(7, index=['a', 'b', 'c']) print(s_scalar)

6. 通过DataFrame的列创建

从DataFrame中提取某一列,得到对应的Series,是表格数据处理中的高频操作。

# 通过DataFrame的列创建Series df = pd.DataFrame({'姓名':['张三','李四','王五'], '成绩':[88, 92, 85]}) s_col = df['成绩'] print(s_col)

二、Series 常用属性

除了创建方式,掌握Series的常用属性也是高效操作的基础。下面列出最核心的几个属性:

s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd']) print("索引:", s.index) # 获取索引对象 print("数值:", s.values) # 获取数值数组 print("数据类型:", s.dtype) # 获取元素类型 print("元素个数:", s.size) # 获取元素总数 print("维度:", s.ndim) # 维度,Series恒为1 print("形状:", s.shape) # 形状,返回(元素个数,) print("是否为空:", s.empty) # 判断是否为空 print("名称:", s.name) # 获取/设置Series名称
  • index:获取索引对象,可自定义标签
  • values:获取数值数组,返回NumPy数组
  • dtype:查看元素数据类型(如int64、float64、object)
  • size:返回元素总个数
  • ndim:返回维度数,Series恒为1
  • shape:返回形状元组,如(4,)
  • empty:判断Series是否为空,返回布尔值
  • name:获取或设置Series的名称,便于标识数据

三、数据访问与切片查询

Series支持标签索引位置索引两种查询方式,切片规则灵活,是数据读取的核心方法。

1. 标签切片(按自定义索引)

通过索引标签取值,切片为闭区间,首尾索引数据都会保留。

print(s['a':'c']) # 取索引a~c的所有数据

2. 位置切片(按默认下标)

和Python列表切片一致,为左闭右开区间,仅根据数据位置取值。

print(s[0:2]) # 取前2个位置的数据

3. 单个标签取值

print(s['c']) # 获取索引c对应的单个数值

避坑提示:Pandas新版中,直接使用s[数字]做位置取值会触发警告,推荐用iloc位置索引、loc标签索引,代码更规范。

四、快速查看首尾数据

日常数据分析中,快速预览数据的高频方法,默认查看5行,可自定义行数。

# 查看前1行数据 print("head:",s.head(1)) # 查看后2行数据 print("tail:",s.tail(2))
  • head(n):查看前n行数据,n默认=5

  • tail(n):查看后n行数据,n默认=5

五、Series 数据新增修改

可直接通过索引赋值,快速新增数据,语法简洁直观。

s['f'] = 6 # 新增索引f,对应数值6 print("head:",s.head()) print("tail:",s.tail(2))

六、数据筛选与匹配判断

用于精准筛选符合条件的数据,支持单值匹配、多值匹配、索引匹配。

1. 索引匹配:isin() 匹配索引

判断索引是否在指定集合中,返回布尔结果。

print(s.index.isin(['a']))

2. 单值数值匹配

判断每个元素数值是否等于目标值,逐元素返回布尔结果。

print(s==3)

3. 多值数值匹配:isin() 匹配数值

判断元素是否在指定数值集合中,实现多条件筛选。

print(s.isin([3,5]))

七、常用统计分析方法

Series内置全套数理统计方法,无需复杂计算,一键获取数据分布特征,是数据分析核心功能。

print("求和:",s.sum()) # 所有元素求和 print("平均值:",s.mean()) # 算术平均值 print("方差:",s.var()) # 样本方差 print("标准差:",s.std()) # 样本标准差 print("最小值:",s.min()) # 最小值 print("最大值:",s.max()) # 最大值 print("中位数:",s.median()) # 中位数

八、索引获取方法

两种等价方法获取Series的索引对象,可用于索引遍历、匹配、修改。

print("Series的索引对象:",s.index) print("Series的索引对象:",s.keys())

结论indexkeys()效果完全一致,均可获取全部索引。

九、缺失值处理(高频实操)

真实业务数据大多存在缺失值,Series提供专属方法快速检测、统计缺失数据。先初始化含缺失值的Series:

# 含None缺失值的Series s = pd.Series({'b':None,'c':3,'f':1,'a':1,'d':4,'e':5,'g':3},name='月份') print(s) 1. 检测所有缺失值 print("检查每一个元素是否为缺失值:",s.isna()) 2. 统计各数值出现次数(自动忽略缺失值) print("每个唯一值出现的次数:",s.value_counts()) 3. 统计有效非缺失值数量 print("非缺失值数量:",s.count())
  • isna():逐元素判断是否为缺失值(None/NaN),返回布尔序列

  • value_counts():统计各数值频次,自动过滤缺失值

  • count():统计有效非空数据总量

十、数据去重操作

针对重复数据,提供去重、统计唯一值数量、获取唯一值数组全套方法。

print("获取去重后的值数组:",s.unique()) print("去除重复项:",s.drop_duplicates()) print("唯一值个数:",s.nunique())
  • unique():返回去重后的数值数组,保留原始顺序

  • drop_duplicates():返回去重后的完整Series(保留索引)

  • nunique():统计唯一值的总个数

十一、排序操作

支持按索引排序按数值排序两种核心排序方式,适配不同数据整理需求。

# 按索引字母顺序排序 print("按索引排序:",s.sort_index()) # 按数值大小升序排序 print("按值排序:",s.sort_values())
  • sort_index():根据索引排序,默认升序

  • sort_values():根据元素数值排序,默认升序

十二、Series 核心方法汇总表

功能分类

常用方法

作用说明

数据预览

head()、tail()

查看首尾数据,快速预览

数据筛选

isin()、条件判断(==)

匹配索引/数值,筛选数据

统计计算

sum/mean/var/std/min/max/median

基础数理统计分析

索引操作

index、keys()

获取Series全部索引

缺失值处理

isna()、count()、value_counts()

检测、统计缺失值与数据频次

数据去重

unique()、drop_duplicates()、nunique()

去重、统计唯一值数量

数据排序

sort_index()、sort_values()

按索引/数值排序

十三、学习总结

Series作为Pandas的基础结构,所有操作逻辑均可迁移至DataFrame。熟练掌握查询切片、筛选匹配、统计分析、缺失值处理、去重排序这几类核心方法,就能搞定80%的基础数据预处理工作,为后续表格数据处理、数据分析可视化打下坚实基础。

本文所有代码可直接复制运行,建议收藏留存,日常写代码时随时查阅复用!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 8:08:11

低光增强实战:从基线到NTIRE Twilight Cowboy挑战的完整工程链路

图像增强赛道在近年计算机视觉挑战中热度很高,低光增强则是其中最能体现“从坏输入到好输出”的一类任务。NTIRE 2026 Low-light Enhancement 赛道以 “Twilight Cowboy Challenge” 为名,直接指向黄昏低照度、高动态范围、复杂光源混合的真实拍摄场景。…

作者头像 李华
网站建设 2026/8/28 8:04:52

学术论文写作全流程指南:从IMRaD结构到语言规范与修改策略

1. 从“写出来”到“写得好”:论文书写的核心价值 写论文,大概是每个学生和研究者都绕不开的“必修课”。很多人觉得,论文嘛,不就是把研究结果整理一下,按照格式要求填进去就行了吗?我最初也是这么想的&…

作者头像 李华
网站建设 2026/8/28 8:04:42

STM32定时器深度解析:从时钟树到PWM与输入捕获实战

1. 项目概述:为什么STM32的定时器是嵌入式开发的“心脏”? 如果你刚开始接触STM32,可能会觉得定时器(Timer)只是一个用来计时的简单外设,设置一个时间,让它到点触发个中断就完事了。但当你真正深…

作者头像 李华
网站建设 2026/8/28 8:04:06

Java项目练习题

购买两款披萨父类package com.lqy.test01; //父类:披萨 public class Pizza {//属性private String name;//名称private int size;//尺寸大小private int price;//价格//方法,为这三个属性提供set和get方法public String getName() {return name;}public void setN…

作者头像 李华
网站建设 2026/8/28 8:03:54

蓝桥杯Python真题解析:单词分析的高效解法与性能优化

1. 项目概述:从一道真题看蓝桥杯Python的考察脉络 今天我们来拆解蓝桥杯Python程序设计的一道经典真题——“单词分析”。这道题在历届比赛中出现频率不低,它看似简单,就是一个统计字符串中字母出现频率的问题,但恰恰是这种基础题…

作者头像 李华
网站建设 2026/8/28 7:58:56

PCSwitch智能呼叫系统:通话不要钱,这波羊毛我先薅为敬

不是标题党,是真0元通话 先别划走,说个真事 前两天我朋友开的小公司吐槽,说每个月话费账单看得心梗。客服团队20号人,一天几百通电话,一个月下来通信费大几千。我说你们没想过用网络电话?他说试过&#xf…

作者头像 李华