本文摘要总结了Pandas Series的核心功能与方法:

1)Series属性包括数据访问、索引、维度等基础属性;

2)索引和迭代方法提供多种数据访问方式;

3)日期时间属性(dt)支持时间数据操作;

4)字符串处理(str)提供丰富的文本处理功能;

5)分类数据(cat)和稀疏数据(sparse)有专用访问器;

6)绘图方法支持多种图表类型。这些方法全面覆盖了Series数据操作、处理和分析的主要需求。

1、Series属性

属性

说明

T

返回转置,永远为Series自己

array

返回Series的数据,PandasArray类型

attrs

该数据集的全局属性字典。

axes

以列表形式返回Series行标签

dtype

返回数据的数据类型

dtypes

返回数据的数据类型

empty

返回Series是否为空:True为空,False不为空

flags

获取与此pandas对象关联的属性

hasnans

获取Series是否包含NaN,如果有任何NaN,则返回 True

index

返回Series的索引

is_monotonic_decreasing

获取Series数据是否按降序排序,True为按降序排序

is_monotonic_increasing

获取Series数据是否按升序排序,True为按升序排序

is_unique

获取Series数据是否存在重复数据,True为数据都是唯一

name

返回Series的名称

nbytes

返回数据的字节数

ndim

返回Series的维度,永远是1

shape

返回数据形状的元组

size

返回数据中元素的个数

values

返回Series的数据,numpy.ndarray类型

memory_usage([index, deep])

返回Series的内存使用情况。

set_flags(*[, copy, ...])

返回具有更新标志的新对象。

2、Series索引和迭代

方法

描述

Series.get(key[, default])

获取给定键(例如:DataFrame列)对应的对象项。

Series.at

访问行/列标签对应的单个值。

Series.iat

按整数位置访问行/列对应的单个值。

Series.loc

按标签或布尔数组访问一组行和列。

Series.iloc

基于纯整数位置进行索引,以根据位置选择。

Series.iter()

返回值的迭代器。

Series.items()

惰性地遍历(索引,值)元组。

Series.keys()

返回索引的别名。

Series.pop(item)

返回项并从系列中删除。

Series.item()

以Python标量的形式返回底层数据的第一个元素。

Series.xs(key[, axis, level, drop_level])

从Series/DataFrame返回交叉部分。

3、日期时间属性dt

Series.dt可用于访问系列的值作为日期时间,并返回多个属性。可以像Series.dt.这样访问这些属性。

3.1、日期时间属性

日期时间属性

描述

Series.dt.date

返回python datetime.date对象的numpy数组。

Series.dt.time

返回datetime.time对象的numpy数组。

Series.dt.timetz

返回带时区的datetime.time对象的numpy数组。

Series.dt.year

日期的年份。

Series.dt.month

月份(1月=1,12月=12)。

Series.dt.day

日期的日。

Series.dt.hour

日期的小时。

Series.dt.minute

日期的分钟。

Series.dt.second

日期的秒。

Series.dt.microsecond

日期的微秒。

Series.dt.nanosecond

日期的纳秒。

Series.dt.dayofweek

星期几(星期一=0,星期天=6)。

Series.dt.day_of_week

星期几(星期一=0,星期天=6)。

Series.dt.weekday

星期几(星期一=0,星期天=6)。

Series.dt.dayofyear

一年中的第几天。

Series.dt.day_of_year

一年中的第几天。

Series.dt.days_in_month

一个月中的天数。

Series.dt.quarter

季度。

Series.dt.is_month_start

指示日期是否为月的第一天。

Series.dt.is_month_end

指示日期是否为月的最后一天。

Series.dt.is_quarter_start

指示日期是否为季度的第一天。

Series.dt.is_quarter_end

指示日期是否为季度的最后一天。

Series.dt.is_year_start

指示日期是否为年的第一天。

Series.dt.is_year_end

指示日期是否为年的最后一天。

Series.dt.is_leap_year

指示日期是否属于闰年。

Series.dt.daysinmonth

一个月中的天数。

Series.dt.days_in_month

一个月中的天数。

Series.dt.tz

返回时区。

Series.dt.freq

返回此PeriodArray的频率对象。

Series.dt.unit

返回单位。

3.2、时间增量属性

Series.dt可用于访问系列的值作为时间增量,并返回多个属性。可以像Series.dt.这样访问这些属性。

时间增量属性

描述

Series.dt.qyear

季度的年份。

Series.dt.start_time

获取周期的开始时间戳。

Series.dt.end_time

获取周期的结束时间戳。

Series.dt.days

每个元素的天数。

Series.dt.seconds

每个元素的秒数(>= 0且小于1天)。

Series.dt.microseconds

每个元素的微秒数(>= 0且小于1秒)。

Series.dt.nanoseconds

每个元素的纳秒数(>= 0且小于1微秒)。

Series.dt.components

返回Timedeltas的组件的DataFrame。

Series.dt.unit

单位。

4、字符串访问器str

Series.str可用于将系列的值作为字符串访问并应用多个方法。可以像Series.str.这样访问这些方法。

方法

描述

Series.str.capitalize()

将Series/Index中的字符串转换为首字母大写。

Series.str.casefold()

将Series/Index中的字符串转换为小写形式。

Series.str.cat([others, sep, na_rep, join])

使用给定的分隔符连接Series/Index中的字符串。

Series.str.center(width[, fillchar])

在Series/Index中的字符串两侧填充字符。

Series.str.contains(pat[, case, flags, na, ...])

测试每个字符串是否包含模式或正则表达式。

Series.str.count(pat[, flags])

计算每个字符串中模式出现的次数。

Series.str.decode(encoding[, errors])

使用指定的编码对Series/Index中的字符字符串进行解码。

Series.str.encode(encoding[, errors])

使用指定的编码对Series/Index中的字符字符串进行编码。

Series.str.endswith(pat[, na])

测试每个字符串元素的末尾是否与模式匹配。

Series.str.extract(pat[, flags, expand])

提取在正则表达式模式中捕获的列作为DataFrame。

Series.str.extractall(pat[, flags])

将正则表达式模式中捕获的列提取为DataFrame。

Series.str.find(sub[, start, end])

返回Series/Index中每个字符串的最低索引。

Series.str.findall(pat[, flags])

在Series/Index中查找模式或正则表达式的所有出现。

Series.str.fullmatch(pat[, case, flags, na])

确定每个字符串是否完全与正则表达式匹配。

Series.str.get(i)

提取指定位置或键的组件中的元素。

Series.str.index(sub[, start, end])

返回Series/Index中每个字符串的最低索引。

Series.str.join(sep)

使用传递的分隔符连接Series/Index中的字符串。

Series.str.len()

计算Series/Index中每个元素的长度。

Series.str.ljust(width[, fillchar])

将Series/Index中的字符串左对齐并填充字符。

Series.str.lower()

将Series/Index中的字符串转换为小写形式。

Series.str.lstrip([to_strip])

删除Series/Index中字符串的前导字符。

Series.str.match(pat[, case, flags, na])

确定每个字符串是否以正则表达式匹配。

Series.str.normalize(form)

返回Series/Index中字符串的Unicode规范形式。

Series.str.pad(width[, side, fillchar])

将Series/Index中的字符串填充到指定宽度。

Series.str.partition([sep, expand])

将字符串在第一次出现的分隔符处拆分为三个部分。

Series.str.removeprefix(prefix)

从对象系列中删除前缀。

Series.str.removesuffix(suffix)

从对象系列中删除后缀。

Series.str.repeat(repeats)

在Series或Index中重复每个字符串。

Series.str.replace(pat, repl[, n, case, ...])

用给定的值替换Series/Index中的模式/正则表达式的每个出现。

Series.str.rfind(sub[, start, end])

返回Series/Index中每个字符串的最高索引。

Series.str.rindex(sub[, start, end])

返回Series/Index中每个字符串的最高索引。

Series.str.rjust(width[, fillchar])

将Series/Index中的字符串右对齐并填充字符。

Series.str.rpartition([sep, expand])

将字符串在最后一次出现的分隔符处拆分为三个部分。

Series.str.rstrip([to_strip])

删除Series/Index中字符串的尾随字符。

Series.str.slice([start, stop, step])

从Series或Index中的每个元素中切片子字符串。与Series.str[start:stop]等价

Series.str.slice_replace([start, stop, repl])

使用另一个值替换字符串的位置切片。

Series.str.split([pat, n, expand, regex])

围绕给定的分隔符/定界符拆分字符串。

Series.str.rsplit([pat, n, expand])

围绕给定的分隔符/定界符拆分字符串。

Series.str.startswith(pat[, na])

测试每个字符串元素的开头是否与模式匹配。

Series.str.strip([to_strip])

删除Series/Index中字符串的前导和尾随字符。

Series.str.swapcase()

将Series/Index中的字符串大小写互换。

Series.str.title()

将Series/Index中的字符串转换为标题形式。

Series.str.translate(table)

通过给定的映射表将字符串中的所有字符映射到新的值。

Series.str.upper()

将Series/Index中的字符串转换为大写形式。

Series.str.wrap(width, **kwargs)

将Series/Index中的字符串包装到指定的行宽。

Series.str.zfill(width)

在Series/Index中的字符串左侧填充'0'字符。

5、分类访问器

分类数据类型特定的方法和属性可在Series.cat访问器下使用。

分类访问器

描述

Series.cat.categories

分类的类别。

Series.cat.ordered

类别是否具有排序关系。

Series.cat.codes

返回代码和索引的Series。

6、稀疏访问器

Sparse访问器提供了针对Sparse-dtype的特定方法和属性。

属性名

描述

Series.sparse.npoints

非填充值点的数量

Series.sparse.density

非填充值点的百分比(小数形式)

Series.sparse.fill_value

数据中的填充值不会被存储

Series.sparse.sp_values

包含非填充值的ndarray

Series.sparse.from_coo

从scipy.sparse.coo_matrix创建具有稀疏值的Series

Series.sparse.to_coo

从具有MultiIndex的Series创建一个scipy.sparse.coo_matrix

7、绘图方法

方法

描述

Series.plot

为特定绘图方法的可调用方法和命名空间属性,形式为Series.plot.

Series.plot.area

绘制堆叠面积图

Series.plot.bar

绘制垂直条形图

Series.plot.barh

绘制水平条形图

Series.plot.box

绘制DataFrame列的箱线图

Series.plot.density

使用高斯核生成核密度估计图

Series.plot.hist

绘制DataFrame列的直方图

Series.plot.kde

使用高斯核生成核密度估计图

Series.plot.line

将Series或DataFrame绘制为折线图

Series.plot.pie

生成饼图

转载地址:

https://zhuanlan.zhihu.com/p/680652357

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐