当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark Series.factorize用法及代码示例


本文简要介绍 pyspark.pandas.Series.factorize 的用法。

用法:

Series.factorize(sort: bool = True, na_sentinel: Optional[int] = - 1) → Tuple[IndexOpsLike, pandas.core.indexes.base.Index]

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

当重要的是识别不同的值时,此方法对于获取数组的数字表示很有用。

参数

sort布尔值,默认为真
na_sentinelint 或无,默认 -1

标记“not found”的值。如果没有,将不会从值的唯一性中删除 NaN。

返回

codes系列或索引

一个系列或索引,它是 uniques 的索引器。 uniques.take(codes) 将具有与 values 相同的值。

uniquespd.Index

唯一的有效值。

注意

即使有缺失值values,uniques将要不是包含一个条目。

例子

>>> psser = ps.Series(['b', None, 'a', 'c', 'b'])
>>> codes, uniques = psser.factorize()
>>> codes
0    1
1   -1
2    0
3    2
4    1
dtype: int32
>>> uniques
Index(['a', 'b', 'c'], dtype='object')
>>> codes, uniques = psser.factorize(na_sentinel=None)
>>> codes
0    1
1    3
2    0
3    2
4    1
dtype: int32
>>> uniques
Index(['a', 'b', 'c', None], dtype='object')
>>> codes, uniques = psser.factorize(na_sentinel=-2)
>>> codes
0    1
1   -2
2    0
3    2
4    1
dtype: int32
>>> uniques
Index(['a', 'b', 'c'], dtype='object')

对于索引:

>>> psidx = ps.Index(['b', None, 'a', 'c', 'b'])
>>> codes, uniques = psidx.factorize()
>>> codes
Int64Index([1, -1, 0, 2, 1], dtype='int64')
>>> uniques
Index(['a', 'b', 'c'], dtype='object')

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.Series.factorize。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。