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。

更新於: 2022年3月7日

137 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.