Python Pandas.factorize()
pandas.factize()方法通过识别不同的值来帮助获得一个数组的数字表示。这个方法在pandas.factize()和Series.factize()中都可以使用。
参数:
value:一维序列。
sort : [bool, Default is False] 对uniques进行排序,并对标签进行洗牌。
na_sentinel : [ int, default -1] 缺少的值来标记 “未找到”。
返回:数组的数字表示法
代码。解释factize()方法的工作。
# importing libraries
import numpy as np
import pandas as pd
from pandas.api.types import CategoricalDtype
labels, uniques = pd.factorize(['b', 'd', 'd', 'c', 'a', 'c', 'a', 'b'])
print("Numeric Representation : \n", labels)
print("Unique Values : \n", uniques)
# sorting the numerics
label1, unique1 = pd.factorize(['b', 'd', 'd', 'c', 'a', 'c', 'a', 'b'],
sort = True)
print("\n\nNumeric Representation : \n", label1)
print("Unique Values : \n", unique1)
# Missing values indicated
label2, unique2 = pd.factorize(['b', None, 'd', 'c', None, 'a', ],
na_sentinel = -101)
print("\n\nNumeric Representation : \n", label2)
print("Unique Values : \n", unique2)
# When factorizing pandas object; unique will differ
a = pd.Categorical(['a', 'a', 'c'], categories =['a', 'b', 'c'])
label3, unique3 = pd.factorize(a)
print("\n\nNumeric Representation : \n", label3)
print("Unique Values : \n", unique3)