将一个元组转换为具有以下条件的 Numpy 矩阵:
- 数组的形状应为
len(tuple)
xlen(tuple)
,即方阵。 - 在由
(元组中元素的索引,元组中元素的值)
指定的位置的数组元素应为 1。
例如,我有一个随机元组,如下所示:
# index means row ,value means col
(2,0,1)
我使用了两个循环将这个元组转换成Numpy数组:
def get_np_represent(result):
two_D = []
for row in range(len(result)):
one_D = []
for col in range(len(result)):
if result[row] == col:
one_D.append(1)
else:
one_D.append(0)
two_D.append(one_D)
return np.array(two_D)
输出:
array([[0, 0, 1],
[1, 0, 0],
[0, 1, 0]])
但我有10,000,000个这样的元组,有更快的方法吗?