我有一個包含類別(A,B,C,D)的列,我想變成虛擬變量。問題是,該列可以包含每行多個類別,例如:熊貓:將多個變量轉換爲一組虛擬變量
DF = pd.DataFrame({'Col':['A', 'A, B', 'A, C', 'B, C, D', 'D']})
Col
0 A
1 A, B
2 A, C
3 B, C, D
4 D
我在這一點想到的是第一分割使用可變分爲多個字段「」作爲分隔符,則僞代碼的結果。事情是這樣的:
DF2 = DF['Col'].str.split(', ', expand = True)
0 1 2
0 A None None
1 A B None
2 A C None
3 B C D
4 D None None
pd.get_dummies(DF2)
0_A 0_B 0_D 1_B 1_C 2_D
0 1 0 0 0 0 0
1 1 0 0 1 0 0
2 1 0 0 0 1 0
3 0 1 0 0 1 1
4 0 0 1 0 0 0
最後,通過運行某種循環的跨列創建一組爲A,B,C和D這可以工作虛擬變量,但得到相當繁瑣了許多更多的變量/類別。有沒有更簡單的方法來實現這一目標?
檢查鏈接.. https://stackoverflow.com/questions/46290726 /如何對化妝dummy-變量與逗號分隔值列 – Wen