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字典创建了一个序列对象。
输出
输出如下:
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的数字值。