Liste mit np.asarray

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

__blackjack__ hat geschrieben: Montag 26. Juli 2021, 16:19 @__deets__: Ich glaube das ist das falsche Thema für diese Antwort. Oder war das Absicht? 😎
Danke. Was auch immer das Form da gebaut hat, das war woanders gedacht, ja.
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

__blackjack__ hat geschrieben: Montag 26. Juli 2021, 12:48 @Herzdame2608: Natürlich tut sich da nichts. Es wird ja nichts mit dem `numpy.asarray()`-Ergebnissen gemacht. So eine Funktion kann nicht auf magische Weise den Datentyp seines Arguments ändern.
Und wie kann ich dann zum gewünschten Ergebnis gelangen?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Was ist denn das Ergebnis, wenn Du einfach dieses unsinnige dtype=object wegläßt?

Code: Alles auswählen

eckpunkte = numpy.array([element.points for element in house_elements_bounds_model])
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Es entsteht folgender Fehler:
VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
return array(a, dtype, copy=False, order=order)

Ich kann mir durch

Code: Alles auswählen

x = np.asarray(eckpunkte[1])
einen Datensatz aus der Liste ausgeben lassen, ich bräuchte nur die Möglichkeit, das für alle 23 Elemente aus der Liste zu machen.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Ok, dann haben die einzelnen Einträge unterschiedlich viele Punkte.
Wenn man etwas mit allen Elementen einer Liste machen möchte, dann benutzt man dafür eine Schleife.
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Ist das ein Problem, wenn diese unterschiedliche Längen haben?
Wie baue ich denn in die for-Schleife das numpy.asarray ein, damit es auf alle Einträge angewandt wird?
Muss ich eine neue leere Liste erstellen und die Ergebnisse dort abspeichern?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Das kannst Du gleich in die List-Comprehension mit einbauen. Das ganze dann in ein Numpy-Array umzuwandeln macht dann natürlich keinen Sinn mehr, wenn dort dann nur Objekte gespeichert werden.
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Sirius3 hat geschrieben: Dienstag 27. Juli 2021, 12:08 Das kannst Du gleich in die List-Comprehension mit einbauen. Das ganze dann in ein Numpy-Array umzuwandeln macht dann natürlich keinen Sinn mehr, wenn dort dann nur Objekte gespeichert werden.
Und wie? :-(
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Code: Alles auswählen

eckpunkte = numpy.array([element.points for element in house_elements_bounds_model])
for elements in eckpunte:
	ALLE ALS ARRAY ABSPEICHERN
Ich habe tausend Sachen versucht da hinzuschreiben, jedoch gibt er mir immer nur diese Objekte aus...
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

Code: Alles auswählen

eckpunkte = [numpy.array(element.points) for element in house_elements_bounds_model]
Herzdame2608
User
Beiträge: 62
Registriert: Donnerstag 18. Juni 2020, 12:04

Das ist es!!! Vielen vielen dank.
Antworten