Ich habe eine leere Liste Array deklariert, als solche:Wie kann ich NumPy zwingen, eine Liste als Objekt anzuhängen?
r = np.array([])
Und ich habe eine Operation, die auf jeder Schleife ein Array von Werten zu r
hinzufügt. Nehmen wir an, die erste Schleife fügt [1,2,3]
hinzu und die nächste fügt [4,5,6,7]
hinzu. Wie kann ich an das Array r
anhängen, während die Argumente append
als Objekte anstatt elementweise gezwungen werden?
Bedeutung, möchte ich dies, nachdem es fertig ist:
r = np.array([[1, 2, 3], [4, 5, 6, 7]])
, wo ich es annehmen, dass dtype = object
erforderlich wäre. Oder zumindest denke ich das, was ich will.
Wenn ich
r = np.append(r, [1,2,3])
r = np.append(r, [4,5,6,7])
ich
r = np.array([1., 2., 3., 4., 5., 6., 7.])
Das einzige Problem ist, ich brauche diese in einer bestimmten Art und Weise später zu verwenden. Ich muss in der Lage sein, auf die Unterlisten einzeln zuzugreifen und Operationen an ihnen durchzuführen, aber ich muss später auch in der Lage sein, auf das Array als Ganzes zuzugreifen. Normalerweise würde ich eine np.ravel
machen, um dies zu bekommen, aber ich kann das nicht tun, wenn die Sub-Arrays keine übereinstimmenden Längen haben (sie werden nicht).
"Ich habe eine leere Liste erklärt, als solche:' r = np.array ([]) '" -, dass ein Array ist. Es sagt "Array" genau dort. Es ist wirklich wichtig, sich der Unterschiede zwischen Listen und Arrays bewusst zu sein, da sie völlig anders gestaltet sind, und die Verwendung des falschen kann Ihre Leistung zerstören oder zu Bugs führen, wie Sie sie jetzt haben. – user2357112
@ user2357112 Sorry, ich meinte Array. Natürlich verwechsle ich Listen und Arrays nicht, da diese Aufgabe mit einer normalen Python-Liste sehr einfach ist. – Anonymous
Sie * sollten * eine normale Python-Liste verwenden. Sie erhalten keine Vorteile und alle Nachteile von NumPy, indem Sie die Dinge auf diese Weise tun. 'Anhängen an ein Array ist verrückt langsam, besonders wenn Sie es immer und immer wieder tun. – user2357112