Pandas Series.factorize() 函数的基本操作是什么?
pandas Series.factorize() 方法用于将序列对象编码为枚举类型或分类变量。此方法生成序列数据的数值表示形式。
Series.factorize() 方法的输出是一个元组,它有两个元素,一个表示代码,另一个元素表示唯一值。
示例 1
在下面的示例中,我们将看到 series.factorize() 方法如何对序列对象的元素进行编码。
# importing pandas package import pandas as pd # create a series s = pd.Series({'A':"aa", 'B':"bb", "C":"cc"}) print(s) result = s.factorize() print(result)
解释
这里使用 Python 字典创建序列对象。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
输出
输出如下所示:
A aa B bb C cc dtype: object (array([0, 1, 2], dtype=int32), Index(['aa', 'bb', 'cc'], dtype='object'))
在输出中,我们可以看到 Series.factorize() 函数已成功对序列对象“s”的数据进行了编码。
示例 2
在下面的示例中,我们将看到 series.factorize() 方法如何对包含缺失值的序列的元素进行编码。
# importing pandas package import pandas as pd # create a series s = pd.Series([70, 52, None, 79, 34,], index= list('ijklm')) print(s) result = s.factorize() print(result)
输出
输出如下所示:
i 70.0 j 52.0 k NaN l 79.0 m 34.0 dtype: float64 (array([ 0, 1, -1, 2, 3], dtype=int32), Float64Index([70.0, 52.0, 79.0, 34.0], dtype='float64'))
正如我们在上面的输出块中看到的,Series.factorize() 方法已使用数值对给定序列对象的数据进行了编码。我们还可以观察到,缺失值已分配了数值 -1。
广告