Reformar la lista de listas de longitud desigual en una matriz numpy
Tengo una matriz específica condtype = object
, los elementos de la matriz representan pares de coordenadas en diferentes momentos y quiero remodelarlo en un formato más fácil. Logré hacer esto por "una vez", pero no puedo hacer que funcione para las observaciones de todos los tiempos.
La duración de cada observación es diferente, por lo que quizás deba usar valores enmascarados para hacerlo. A continuación se muestra un ejemplo que espero explique mejor lo que quiero.
# My "input" is:
a = np.array([[], [(2, 0), (2, 2)], [(2, 2), (2, 0), (2, 1), (2, 2)]], dtype=object)
#And my "output" is:
#holding_array_VBPnegl
array([[2, 0],
[2, 2],
[2, 1]])
#It doesnt consider my for loop in a.shape[0], so the expected result is :
test = np.array([[[True, True],
[True, True],
[True, True]],
[[2, 0],
[2, 2],
[True, True]]
[[2, 0],
[2, 2],
[2, 1]]])
#with "True" the masked values
He intentado usar el código que encontré en StackOverflow:
import numpy as np
holding_list_VBPnegl=[]
for i in range(a.shape[0]):
for x in a[i]:
if x in holding_list_VBPnegl:
pass
else:
holding_list_VBPnegl.append(x)
print holding_list_VBPnegl
holding_array_VBPnegl = np.asarray(holding_list_VBPnegl)