我有 2 個 numpy darray,想用它們創建一個字典。例如 {(7.9,3.8,6.4,2): 2}
import numpy as np
little_X_test= np.array([[7.9, 3.8, 6.4, 2],
[5.2, 4.1, 1.5, 0.1],
[6.9, 3.1, 5.1, 2.3]])
little_y_test= np.array([2, 0, 2])
d = {}
for A, B in zip(little_X_test, little_y_test):
d[A] = B
錯誤資訊
型別錯誤:不可散列型別:'numpy.ndarray'
uj5u.com熱心網友回復:
Numpy 陣列、串列和其他可變物件是不可散列的。
如果您轉換為元組,這將起作用,因為物件是不可變的。
注意。你不必使用回圈,dict直接使用建構式
import numpy as np
little_X_test= np.array([[7.9, 3.8, 6.4, 2],
[5.2, 4.1, 1.5, 0.1],
[6.9, 3.1, 5.1, 2.3]])
little_y_test= np.array([2, 0, 2])
d = dict(zip(map(tuple, little_X_test), little_y_test))
輸出:
>>> d
{(7.9, 3.8, 6.4, 2.0): 2,
(5.2, 4.1, 1.5, 0.1): 0,
(6.9, 3.1, 5.1, 2.3): 2}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/329505.html
