Series#

构造函数#

Series([data, index, dtype, name, copy, ...])

属性#

Series.index

序列的索引(轴标签)。

Series.dtype

返回底层数据的 dtype 对象。

Series.memory_usage([index, deep])

返回序列的内存使用情况。

Series.ndim

返回一个整数,表示轴/数组维度的数量。

Series.name

Series.shape

Series.T

返回转置,根据定义即为自身。

转换#

Series.astype(dtype[, copy, errors])

将 pandas 对象转换为指定的 dtype。

Series.convert_dtypes([infer_objects, ...])

使用支持 pd.NA 的 dtype 将列转换为最佳可能的类型。

Series.copy([deep])

复制此对象的索引和数据。

Series.infer_objects([copy])

尝试为对象列推断更合适的 dtype。

Series.to_frame([name])

将序列转换为 DataFrame。

索引,迭代#

Series.at

通过行/列标签对访问单个值。

Series.iat

通过整数位置访问行/列对的单个值。

Series.iloc

基于纯整数位置的索引,用于按位置选择。

Series.loc

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

Series.mask(cond[, other, inplace, axis, ...])

在条件为 True 的地方替换值。

Series.pop(item)

返回项目并从 Series 中删除。

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

从 Series/DataFrame 返回交叉部分。

Series.where(cond[, other, inplace, axis, ...])

在条件为 False 的地方替换值。

二元操作函数#

Series.add(other[, level, fill_value, axis])

返回 Series 和 other 的加法,逐元素(二元操作符 add)。

Series.sub(other[, level, fill_value, axis])

返回 Series 和 other 的减法,逐元素(二元操作符 subtract)。

Series.mul(other[, level, fill_value, axis])

返回 Series 和 other 的乘法,逐元素(二元操作符 mul)。

Series.div(other[, level, fill_value, axis])

返回 Series 和 other 的浮点除法,逐元素(二元操作符 truediv)。

Series.truediv(other[, level, fill_value, axis])

返回 Series 和 other 的浮点除法,逐元素(二元操作符 truediv)。

Series.floordiv(other[, level, fill_value, axis])

返回 Series 和 other 的整数除法,逐元素(二元操作符 floordiv)。

Series.mod(other[, level, fill_value, axis])

返回 Series 和 other 的模运算,逐元素(二元操作符 mod)。

Series.pow(other[, level, fill_value, axis])

返回 Series 和 other 的指数幂运算,逐元素(二元操作符 pow)。

Series.radd(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素加法(二元运算符 radd)。

Series.rsub(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素减法(二元运算符 rsubtract)。

Series.rmul(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素乘法(二元运算符 rmul)。

Series.rdiv(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素除法(二元运算符 rtruediv)。

Series.rtruediv(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素除法(二元运算符 rtruediv)。

Series.rfloordiv(other[, level, fill_value, ...])

返回序列与另一个序列的逐元素整数除法(二元运算符 rfloordiv)。

Series.rmod(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素模运算(二元运算符 rmod)。

Series.rpow(other[, level, fill_value, axis])

返回序列与另一个序列的逐元素幂运算(二元运算符 rpow)。

Series.lt(other[, level, fill_value, axis])

返回序列中小于另一个序列的逐元素比较结果(二元运算符 lt)。

Series.gt(other[, level, fill_value, axis])

返回序列中大于另一个序列的逐元素比较结果(二元运算符 gt)。

Series.le(other[, level, fill_value, axis])

返回序列中小于或等于另一个序列的逐元素比较结果(二元运算符 le)。

Series.ge(other[, level, fill_value, axis])

返回序列中大于或等于另一个序列的逐元素比较结果(二元运算符 ge)。

Series.ne(other[, level, fill_value, axis])

返回序列中不等于另一个序列的逐元素比较结果(二元运算符 ne)。

Series.eq(other[, level, fill_value, axis])

返回序列中等于另一个序列的逐元素比较结果(二元运算符 eq)。

Series.combine(other, func[, fill_value])

根据 func 将序列与另一个序列或标量进行合并。

Series.combine_first(other)

使用 'other' 中相同位置的值更新空元素。

函数应用、分组和窗口操作#

Series.apply(func[, convert_dtype, ...])

在 Series 的值上调用函数。

Series.agg([func, axis])

在指定轴上使用一个或多个操作进行聚合。

Series.aggregate([func, axis])

在指定轴上使用一个或多个操作进行聚合。

Series.ewm([com, span, halflife, alpha, ...])

提供指数加权函数。

Series.expanding([min_periods, shift, ...])

提供扩展变换。

Series.groupby([by, level, as_index, sort, ...])

使用映射器或按列的 Series 对 DataFrame 进行分组。

Series.map(arg[, na_action, dtype, ...])

根据输入对应关系映射 Series 的值。

Series.rolling(window[, min_periods, ...])

提供滚动窗口计算。

Series.transform(func[, convert_dtype, ...])

在自身上调用 func,生成一个具有转换值的 Series。

计算 / 描述性统计#

Series.abs()

Series.all([axis, bool_only, skipna, level, ...])

Series.any([axis, bool_only, skipna, level, ...])

Series.between(left, right[, inclusive])

返回等效于 left <= series <= right 的布尔 Series。

Series.clip([lower, upper, axis, inplace])

在输入阈值处修剪值。

Series.corr(other[, method, min_periods])

计算与 other Series 的相关性,排除缺失值。

Series.count([level])

Series.cov(other[, min_periods, ddof])

计算与 Series 的协方差,排除缺失值。

Series.describe([percentiles, include, exclude])

生成描述性统计信息。

Series.factorize([sort, use_na_sentinel])

将对象编码为枚举类型或分类变量。

Series.is_monotonic_increasing

如果对象中的值是单调递增的,则返回布尔标量。

Series.is_monotonic_decreasing

如果对象中的值是单调递减的,则返回布尔标量。

Series.is_unique

如果对象中的值是唯一的,则返回布尔值。

Series.max([axis, skipna, level, method])

Series.mean([axis, skipna, level, method])

Series.median([axis, skipna, level, method])

Series.min([axis, skipna, level, method])

Series.mode([dropna, combine_size])

返回 Series 的众数。

Series.nlargest(n[, keep])

返回最大的 n 个元素。

Series.nsmallest(n[, keep])

返回最小的 n 个元素。

Series.nunique([dropna])

返回对象中唯一元素的数量。

Series.prod([axis, skipna, level, ...])

Series.product([axis, skipna, level, ...])

Series.quantile([q, interpolation])

返回给定分位数处的值。

Series.rank([axis, method, numeric_only, ...])

沿轴计算数值数据的排名(从1到n)。

Series.round([decimals])

将 Series 中的每个值四舍五入到指定的小数位数。

Series.sem([axis, skipna, level, ddof, method])

Series.std([axis, skipna, level, ddof, method])

Series.sum([axis, skipna, level, min_count, ...])

Series.unique([method])

唯一值按出现顺序返回。

Series.value_counts([normalize, sort, ...])

返回包含唯一值计数的 Series。

Series.var([axis, skipna, level, ddof, method])

重新索引 / 选择 / 标签操作#

Series.add_prefix(prefix)

使用字符串 prefix 为标签添加前缀。

Series.add_suffix(suffix)

使用字符串 suffix 为标签添加后缀。

Series.align(other[, join, axis, level, ...])

根据指定的连接方法对齐两个对象。

Series.at_time(time[, axis])

选择一天中特定时间的值(例如,上午9:30)。

Series.between_time(start_time, end_time[, ...])

选择一天中特定时间之间的值(例如,上午9:00-9:30)。

Series.case_when(caselist)

替换条件为 True 的值。

Series.drop([labels, axis, index, columns, ...])

返回删除了指定索引标签的 Series。

Series.drop_duplicates([keep, inplace, ...])

返回删除重复值后的 Series。

Series.droplevel(level[, axis])

返回删除请求的索引/列级别的 Series 或 DataFrame。

Series.filter([items, like, regex, axis])

根据指定的索引标签子集选择行或列。

Series.head([n])

返回前 n 行。

Series.idxmax([axis, skipna])

返回最大值的行标签。

Series.idxmin([axis, skipna])

返回最小值的行标签。

Series.isin(values)

Series 中的元素是否包含在 values 中。

Series.reindex([labels, index, columns, ...])

根据新的索引调整 Series/DataFrame,并可选择填充逻辑。

Series.reindex_like(other[, method, copy, ...])

返回一个与另一个对象索引匹配的对象。

Series.rename([index, axis, copy, inplace, ...])

修改 Series 的索引标签或名称。

Series.reset_index([level, drop, name, inplace])

生成一个新的 DataFrame 或 Series,其索引被重置。

Series.sample([n, frac, replace, weights, ...])

从对象的某个轴中返回一个随机样本。

Series.set_axis(labels[, axis, inplace])

为给定轴分配所需的索引。

Series.take(indices[, axis])

沿某个轴返回给定*位置*索引的元素。

Series.truncate([before, after, axis, copy])

在某个索引值之前和之后截断 Series 或 DataFrame。

缺失数据处理#

Series.dropna([axis, inplace, how, ignore_index])

返回一个新的 Series,其中缺失值已被移除。

Series.fillna([value, method, axis, ...])

使用指定的方法填充 NA/NaN 值。

Series.isna()

检测缺失值。

Series.notna()

检测存在的(非缺失)值。

Series.dropna([axis, inplace, how, ignore_index])

返回一个新的 Series,其中缺失值已被移除。

Series.fillna([value, method, axis, ...])

使用指定的方法填充 NA/NaN 值。

重塑、排序#

Series.argmax([axis, skipna])

返回 Series 中最小值的整数位置。

Series.argmin([axis, skipna])

返回 Series 中最小值的整数位置。

Series.argsort([axis, kind, order, stable])

返回能够对 Series 值进行排序的整数索引。

Series.explode([ignore_index, ...])

将每个类列表元素转换为一行。

Series.reorder_levels(order)

使用输入顺序重新排列索引层级。

Series.repeat(repeats[, axis])

重复 Series 的元素。

Series.sort_values([axis, ascending, ...])

按值排序。

Series.sort_index([axis, level, ascending, ...])

按标签(沿轴)对对象进行排序。

Series.swaplevel([i, j])

MultiIndex 中交换层级 i 和 j。

Series.unstack([level, fill_value])

解堆叠,也称为透视,将具有 MultiIndex 的 Series 转换为 DataFrame。

组合 / 比较 / 连接 / 合并#

Series.append(other[, ignore_index, ...])

other 的行追加到调用者的末尾,返回一个新对象。

Series.compare(other[, align_axis, ...])

与另一个 Series 进行比较并显示差异。

Series.update(other)

使用传入的 Series 的值就地修改 Series。

访问器#

Pandas 在各种访问器下提供了特定于数据类型的方法。这些是 Series 内部仅适用于特定数据类型的独立命名空间。

数据类型

访问器

日期时间、时间差、时期

dt

字符串

str

字典

dict

类似日期时间的属性#

Series.dt 可用于将 Series 的值作为类似日期时间的值访问,并返回多个属性。这些可以通过 Series.dt.<property> 的形式访问。

日期时间属性#

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,十二月为12。

Series.dt.day

日期时间的日期部分。

Series.dt.hour

日期时间的小时部分。

Series.dt.minute

日期时间的分钟部分。

Series.dt.second

日期时间的秒数。

Series.dt.microsecond

日期时间的微秒数。

Series.dt.nanosecond

日期时间的纳秒数。

Series.dt.week

一年中的第几周。

Series.dt.weekofyear

一年中的第几周。

Series.dt.dayofweek

星期几,周一为0,周日为6。

Series.dt.weekday

星期几,周一为0,周日为6。

Series.dt.dayofyear

一年中的第几天。

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.to_period([freq])

以特定频率转换为 PeriodArray/PeriodIndex。

Series.dt.to_pydatetime()

Return the data as a Series of datetime.datetime objects.

Series.dt.tz_localize(tz[, ambiguous, ...])

将无时区信息的 Datetime Array/Index 转换为有时区信息的 Datetime Array/Index。

Series.dt.tz_convert(tz)

将有时区信息的 Datetime Array/Index 从一个时区转换为另一个时区。

Series.dt.normalize()

将时间转换为午夜。

Series.dt.strftime(date_format)

使用指定的日期格式转换为 Index。

Series.dt.round(freq[, ambiguous, nonexistent])

对数据执行舍入操作到指定的 freq

Series.dt.floor(freq[, ambiguous, nonexistent])

对数据执行向下取整操作到指定的 freq

Series.dt.ceil(freq[, ambiguous, nonexistent])

对数据执行向上取整操作到指定的 freq

Series.dt.month_name([locale])

返回指定语言环境下的月份名称。

Series.dt.day_name([locale])

返回指定语言环境下的星期名称。

字符串处理#

Series.str 可用于将 Series 的值作为字符串访问并应用多种方法。这些方法可通过 Series.str.<function/property> 的方式进行访问。

Series.str.capitalize()

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

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

测试 Series 或 Index 的字符串中是否包含模式或正则表达式。

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

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

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

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

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

返回 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.str.pad(width[, side, fillchar])

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

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.rjust(width[, fillchar])

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

Series.str.rstrip([to_strip])

移除尾随字符。

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

从 Series 或 Index 的每个元素中切片出子字符串。

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

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

Series.str.strip([to_strip])

移除开头和结尾的字符。

Series.str.swapcase()

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

Series.str.title()

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

Series.str.translate(table)

通过给定的映射表映射字符串中的所有字符。

Series.str.upper()

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

Series.str.zfill(width)

通过在字符串前面添加 '0' 字符来填充 Series/Index 中的字符串。

Series.str.isalnum()

检查每个字符串中的所有字符是否为字母或数字。

Series.str.isalpha()

检查每个字符串中的所有字符是否为字母。

Series.str.isdigit()

检查每个字符串中的所有字符是否为数字。

Series.str.isspace()

检查每个字符串中的所有字符是否为空白字符。

Series.str.islower()

检查每个字符串中的所有字符是否为小写。

Series.str.isupper()

检查每个字符串中的所有字符是否为大写。

Series.str.istitle()

检查每个字符串中的所有字符是否为标题格式。

Series.str.isnumeric()

检查每个字符串中的所有字符是否为数值字符。

Series.str.isdecimal()

检查每个字符串中的所有字符是否为十进制数字。

字典属性#

Series.dict 可用于访问具有字典值的 Series 的方法。这些方法可以通过 Series.dict.<method> 的方式访问。

字典方法#

Series.dict.__getitem__(query_key)

根据 Series 中每个字典的键获取值。

Series.dict.__setitem__(query_key, value)

为 Series 中的每个字典设置键对应的值。

Series.dict.contains(query_key)

检查键是否存在于 Series 的每个字典中。

Series.dict.get(query_key[, default_value])

根据 Series 中每个字典的键获取值。

Series.dict.len()

获取 Series 中每个字典的长度。

Series.dict.remove(query_key[, ignore_key_error])

从 Series 的每个字典中根据键移除项。

列表属性#

Series.list 可用于访问具有列表值的 Series 的方法。这些方法可以通过 Series.list.<method> 的方式访问。

列表方法#

Series.list.__getitem__(query_index)

根据 Series 中每个列表的索引获取值。

Series.list.len()

获取 Series 中每个列表的长度。

结构体属性#

Series.struct 可用于访问具有结构体值的 Series 的方法。这些方法可以通过 Series.struct.<method> 的方式访问。

结构体方法#

Series.struct.dtypes

返回结构体中每个子字段的 dtype 对象。

Series.struct.field(name_or_index)

将结构体的一个子字段提取为 Series。

绘图#

Series.plot 既是可调用的方法,也是特定绘图方法的命名空间属性,这些方法的形式为 Series.plot.<kind>

Series.plot.area(*args, **kwargs)

绘制堆叠面积图。

Series.plot.bar(*args, **kwargs)

垂直条形图。

Series.plot.barh(*args, **kwargs)

制作水平条形图。

Series.plot.box(*args, **kwargs)

制作 DataFrame 列的箱线图。

Series.plot.density(*args, **kwargs)

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

Series.plot.hist(*args, **kwargs)

绘制 DataFrame 列的一个直方图。

Series.plot.kde(*args, **kwargs)

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

Series.plot.line(*args, **kwargs)

将 Series 或 DataFrame 绘制为线图。

Series.plot.pie(*args, **kwargs)

生成饼图。

序列化 / IO / 转换#

Series.to_csv(path[, sep, na_rep, ...])

将对象写入 CSV 文件。

Series.to_dict([into, batch_size, session])

将 Series 转换为 {标签 -> 值} 形式的 Python dict 或者类似 dict 的对象。

Series.to_json([path, orient, date_format, ...])

将对象转换为 JSON 字符串。

Series.to_list([batch_size, session])

返回最小值的行标签。

MaxFrame 扩展#

Series.mf.apply_chunk(func[, batch_rows, ...])

应用一个接受 pandas Series 并输出 pandas DataFrame/Series 的函数。

Series.mf.flatmap(func[, dtypes, dtype, ...])

对每一行应用给定函数,然后展平结果。

Series.mf.flatjson(query_paths[, dtypes, ...])

根据 JSON 查询将序列中的 JSON 对象展平为数据框。

Series.rechunk(chunk_size[, reassign_worker])

重新分块 DataFrame、Series 或 Index 数据。

Series.mf 提供 MaxFrame 独有的方法。这些方法是从 MaxCompute 的应用场景中整理而来,可以通过 Series.mf.<function/property> 的方式访问。