0
A
回答
1
我打算假設您想將最後一列轉換爲一個熱解析結果,然後將其轉換爲原始數組。您可以初始化一個零數組,然後將適當的索引設置爲1
。最後將OHE陣列連接到原來的。
MCVE:使用np.eye
招@COLDSPEED的
print(arr)
array([[ -9.95, 15.27, 9.08, 1. ],
[ -6.81, 11.87, 8.38, 2. ],
[ -3.02, 11.08, -8.5 , 1. ],
[ -5.73, -2.29, -2.09, 2. ],
[ -7.01, -0.9 , 12.91, 2. ],
[-11.64, -10.3 , 2.09, 2. ],
[ 17.85, 13.7 , 2.14, 0. ],
[ 6.34, -9.49, -8.05, 2. ],
[ 18.62, -9.43, -1.02, 1. ],
[ -2.15, -23.65, -13.03, 1. ]])
c = arr[:, -1].astype(int)
ohe = np.zeros((c.shape[0], c.max() + 1))
ohe[np.arange(c.shape[0]), c] = 1
arr = np.hstack((arr[:, :-1], ohe))
print(arr)
array([[ -9.95, 15.27, 9.08, 0. , 1. , 0. ],
[ -6.81, 11.87, 8.38, 0. , 0. , 1. ],
[ -3.02, 11.08, -8.5 , 0. , 1. , 0. ],
[ -5.73, -2.29, -2.09, 0. , 0. , 1. ],
[ -7.01, -0.9 , 12.91, 0. , 0. , 1. ],
[-11.64, -10.3 , 2.09, 0. , 0. , 1. ],
[ 17.85, 13.7 , 2.14, 1. , 0. , 0. ],
[ 6.34, -9.49, -8.05, 0. , 0. , 1. ],
[ 18.62, -9.43, -1.02, 0. , 1. , 0. ],
[ -2.15, -23.65, -13.03, 0. , 1. , 0. ]])
+1
完美!很好解釋!謝謝! :) – rponciano
1
一個行版本:
np.hstack([arr[:,:-1], np.eye(arr[:,-1].astype(int).max() + 1)[arr[:,-1].astype(int)]])
相關問題
- 1. 基於另一個陣列的鍵排列數組元素
- 2. 創建基於另一個陣列新數組
- 3. 基於Java的另一個陣列
- 4. PYTHON:從一個列表基於指數的另一個列表
- 5. 排序在JavaScript的數組基於另一個陣列
- 6. 基於另一個陣列中的較新對象更新數組
- 7. 基於另一個陣列的Matlab縮小圖像陣列
- 8. 基於另一個陣列的陣列遞增值
- 9. 基於匹配索引上的另一個數組的Javascript更新陣列
- 10. 排序基於另一個陣列
- 11. 基於另一列創建一個新的數據框列
- 12. 基於一個ID陣列排序多個陣列
- 13. 重新排序陣列基於它在另一個陣列中的存在
- 14. 從一個陣列返回元素,基於另一個陣列的值
- 15. 陣列等於另一個陣列
- 16. Ruby - 基於另一個陣列過濾哈希陣列
- 17. 使用基於另一個表的條件更新一組列?
- 18. iSorting多維陣列基於關閉一個數組值
- 19. 組基於一個列的值基於一個組的值,另一個作爲另一個
- 20. 來自位於另一個陣列的數組的ParseJson數據
- 21. 基於另一個陣列的內容輸出三個陣列到文件
- 22. 基於另一個列表
- 23. 基於重疊實體陣列創建一個新陣列
- 24. 創建一種新的基於列的另一列的多行
- 25. ruby - 如何重新排列基於另一個數組的數組?
- 26. Angular2或NodeJs:重新排列/排序基於另一個陣列的JSON元素
- 27. Java的一個陣列數據到另一個陣列
- 28. 轉換數組到另一個陣列
- 29. 陣列內的另一個陣列
- 30. 將單元格的多個陣列的行組合到一個新陣列中
你從未解釋過該行的最後一個數字是如何影響0/1這被寫入最後? – AK47
[np.hstack()](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.hstack.html) – sascha