我試圖通過分解數據框來對數據框中的類別列表進行編碼。然後,我將從這一系列列表中創建一個矩陣(將它們標準化爲一個設定的長度,創建一個多維數組,並對矩陣中的元素進行一次熱編碼)。熊貓數據框中的編碼/因子列表
但是,這些因素不能保持行之間的一致性。 這可以看這裏:
>>> import pandas as pd
>>> df = pd.DataFrame({'A': [ ['Other', 'Male', 'Female', 'Male', 'Other'], ['Female', 'Other', 'Male'] ]})
>>> df['B'] = df.A.apply(lambda x: pd.factorize(x)[0])
>>> df
A B
0 [Other, Male, Female, Male, Other] [0, 1, 2, 1, 0]
1 [Female, Other, Male] [0, 1, 2]
有誰知道如何來維護這個系列是行中相同的編碼?
不get_dummies不適合你的使用情況工作? –
感謝您提供'get_dummies'的想法,我非常喜歡創建一個熱門矢量的方式。不幸的是,我還沒有想出一種方法,即當每個元素的列表長度不相等時,可以將所有這些熱點矢量從系列中移回到3D張量形狀中。 – chase