1128 字
6 分钟
页面浏览--访问次数--
数据分析|Series的常用方法

15.1 Series 常用方法概述#

Pandas Series 提供了丰富的方法用于数据统计、清洗和操作。下表按功能分类列出:

常用方法总览#

方法说明
head()查看前 n 行数据,默认 5 行
tail()查看后 n 行数据,默认 5 行
isin()判断元素是否包含在参数集合中
isna()判断是否为缺失值(如 NaN 或 None)
sum()求和,自动忽略缺失值
mean()平均值
min()最小值
max()最大值
var()方差
std()标准差
median()中位数
mode()众数(可返回多个)
quantile(q)分位数,q 取 0~1 之间
describe()常见统计信息(count、mean、std、min、25%、50%、75%、max)
value_counts()每个唯一值的出现次数
count()非缺失值数量
nunique()唯一值个数(去重)
unique()获取去重后的值数组
drop_duplicates()去除重复项
sample()随机抽样
sort_index()按索引排序
sort_values()按值排序
replace()替换值
keys()返回 Series 的索引对象

15.2 统计与描述方法#

以下示例基于一个包含缺失值的 Series:

import pandas as pd
import numpy as np
s = pd.Series([10, 2, np.nan, None, 3, 4, 5],
index=['A', 'B', 'C', 'D', 'E', 'F', 'G'],
name='data')
print(s)

输出:

A 10.0
B 2.0
C NaN
D NaN
E 3.0
F 4.0
G 5.0
Name: data, dtype: float64

15.2.1 数据预览#

print(s.head()) # 默认取前5行
print(s.tail()) # 默认取后5行

输出:

A 10.0
B 2.0
C NaN
D NaN
E 3.0
Name: data, dtype: float64
C NaN
D NaN
E 3.0
F 4.0
G 5.0
Name: data, dtype: float64

15.2.2 描述性统计#

print(s.describe())

输出:

count 5.000000
mean 4.800000
std 3.114482
min 2.000000
25% 3.000000
50% 4.000000
75% 5.000000
max 10.000000
Name: data, dtype: float64

describe() 一次性返回 count(非缺失值数量)、mean、std、min、四分位数和 max,是数据探索的第一步常用操作。

15.2.3 常用统计计算#

print(s.mean()) # 平均值
print(s.sum()) # 总和
print(s.std()) # 标准差
print(s.var()) # 方差
print(s.min()) # 最小值
print(s.max()) # 最大值
print(s.median()) # 中位数
print(s.quantile(0.25)) # 第25百分位数

输出:

4.8
24.0
3.1144823004794877
9.700000000000001
2.0
10.0
4.0
3.0

15.2.4 众数#

s['H'] = 4
print(s.mode())

输出:

0 4.0
Name: data, dtype: float64

mode() 返回众数,可能有多个值,返回一个 Series。

15.2.5 缺失值判断#

print(s.isna()) # 判断每个元素是否为缺失值

输出:

A False
B False
C True
D True
E False
F False
G False
H False
Name: data, dtype: bool
print(s.count()) # 非缺失值数量

输出:

6

15.2.6 元素包含判断#

print(s.isin([4, 5, 6])) # 判断元素是否在指定集合中

输出:

A False
B False
C False
D False
E False
F True
G True
H True
Name: data, dtype: bool

15.3 去重、排序与索引方法#

15.3.1 唯一值与去重#

print(s.value_counts()) # 每个唯一值的出现次数
print(s.drop_duplicates()) # 去重(返回 Series)
print(s.unique()) # 去重(返回 numpy 数组)
print(s.nunique()) # 去重后的元素个数

输出:

data
4.0 2
10.0 1
2.0 1
3.0 1
5.0 1
Name: count, dtype: int64
A 10.0
B 2.0
C NaN
E 3.0
F 4.0
G 5.0
Name: data, dtype: float64
[10. 2. nan 3. 4. 5.]
5

要点说明:

  • value_counts() 用于统计频次,默认按出现次数降序排列。
  • drop_duplicates() 返回去重后的 Series,保留原始索引。
  • unique() 返回去重后的 numpy 数组。
  • nunique() 返回去重后的个数(整数)。

15.3.2 排序#

print(s.sort_index()) # 按索引排序
print(s.sort_values()) # 按值排序(缺失值默认排在末尾)

输出:

A 10.0
B 2.0
C NaN
D NaN
E 3.0
F 4.0
G 5.0
H 4.0
Name: data, dtype: float64
B 2.0
E 3.0
F 4.0
H 4.0
G 5.0
A 10.0
C NaN
D NaN
Name: data, dtype: float64

15.3.3 索引对象#

print(s.keys()) # 返回索引对象
print(s.index) # 属性方式获取索引

输出:

Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], dtype='object')
Index(['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], dtype='object')

15.4 案例中涉及的补充方法#

以下方法在实际数据分析案例中出现,作为补充参考:

方法说明
diff()计算相邻元素之间的差值,常用于分析变化量
pct_change()计算相邻元素之间的百分比变化率,常用于收益率、环比分析
idxmax()返回最大值的索引标签
idxmin()返回最小值的索引标签
rolling(n)生成滚动窗口对象,配合 sum()、mean() 等进行滑动计算
resample(rule)按指定频率重采样时间序列数据(如按天聚合到按月)
abs()对每个元素取绝对值,常配合 diff() 使用获取变化幅度
tolist()将 Series 的索引或值转换为 Python 列表

15.5 本节小结#

本节完成了以下内容:

  • 掌握了 Series 的统计描述方法:describe()、mean()、sum()、std()、var()、min()、max()、median()、mode()、quantile()。
  • 掌握了缺失值判断方法:isna()、count()。
  • 掌握了元素判断与过滤:isin()。
  • 掌握了去重相关方法:value_counts()、drop_duplicates()、unique()、nunique()。
  • 掌握了排序方法:sort_index()、sort_values()。
  • 了解了案例中涉及的补充方法:diff()、pct_change()、idxmax()、idxmin()、rolling()、resample()、abs()、tolist()。

下一节我们将通过 Series 案例 综合练习所学方法。


数据分析

连载中

第 15 篇,共 21 篇本文属于系列

数据分析|Series的常用方法
https://luq-blog.xyz/posts/2026-07-03-data-notes-15-series-methods/
作者
Luquiescene
发布于
2026-07-03
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类

换条路线

从其他文章中稳定抽取

评论

正在加载评论...

最后更新于 ,距今已过 91 天

部分内容可能已过时