Reshape Liste von Listen ungleicher Länge in numpy Array

Ich habe ein bestimmtes Array mitdtype = object, die Array-Elemente stellen Koordinatenpaare zu unterschiedlichen Zeiten dar und ich möchte sie in ein einfacheres Format umformen. Ich habe es "einmal" geschafft, aber ich kann es nicht für alle Zeitbeobachtungen zum Laufen bringen.

Die Länge jeder Beobachtung ist unterschiedlich, daher muss ich möglicherweise maskierte Werte verwenden, um dies zu tun. Unten ist ein Beispiel, das hoffentlich besser erklärt, was ich will.

# 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

Ich habe versucht, Code zu verwenden, den ich auf StackOverflow gefunden habe:

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)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage