我正在尝试创建由大小不同的二维矩阵组成的3d矩阵(或某些存储过程)。
例如,下面的代码返回大小为n X m
的1和0的2维矩阵。
但是我想引入y
作为变量,该变量存储大小不同的矩阵,即y(0) = size(n,m)
,y(1) = size(a,b)
,y(2) = size(c,d)
等。
这样做的最佳方法是什么?
y = one_hot_encoding(sample.astype(str), np.unique(sample.astype(str)))
def one_hot_encoding(encoding, num_labels):
onehot = np.zeros((len(num_labels), encoding.shape[0]))
for i in range(encoding.shape[0]):
for j in range(len(num_labels)):
if encoding[i] == num_labels[j]:
onehot[j, i] = 1.0
else:
pass
return onehot.astype(int)