ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

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、objectsize返回元素总个数ndim返回维度数Series恒为1shape返回形状元组如(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默认5tail(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(s3)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())结论index和keys()效果完全一致均可获取全部索引。九、缺失值处理高频实操真实业务数据大多存在缺失值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%的基础数据预处理工作为后续表格数据处理、数据分析可视化打下坚实基础。本文所有代码可直接复制运行建议收藏留存日常写代码时随时查阅复用
返回列表