Seite 1 von 1
np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 10:18
von MathGenie123
ich habe eine Liste der länge 3, wobei jeder Eintrag ein Array mit 150 Einträgen und eine Spalte im Grunde genommen ein Vektor einfach.
Wenn ich auf diese Liste np.array anwende, habe ich intuitiv eine 3x150x1 Matrix erwartet. Aber wenn ich shape aufrufe erhalte ich dann 3x150, meine frage wäre nun liegt hier eine Matrix Konvertierung statt ?
Hoffe die Frage war verständlich genug mfg
Re: np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 10:24
von __deets__
Warum erwartest du einen shape, der am Schluss x1 hat? Das ist doch ueberfluessig, und deshalb laesst numpy das auch weg. Ein 3-Elementiger Vektor wie von dir beschrieben waere sonst doch auch ein shape 3x1. Du kannst immer ein x1 anhaengen, wenn dir das Spass macht, aber es hat keine Bedeutung, weil man ja schon mit den ersten Indices das Element klar benennt.
Re: np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 10:49
von MathGenie123
verstehe aber sagen wir wir hätten bei den Einträgen in der Liste der Länge 4 ein Array 3x3 und würden np.array anwenden.
Dann hätten wir dementsprechend 4x3x3 ?
Re: np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 10:55
von __deets__
Ja natuerlich, denn dann brauchst du ja nunmal drei Indizes.
Re: np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 12:13
von MathGenie123
danke

Re: np.array mehrdimensioanle arrays
Verfasst: Montag 30. Mai 2022, 13:57
von __blackjack__
@MathGenie123: Um das noch mal an einem Beispiel zu zeigen, hätten für 3×150×1 die einzelnen Arrays in der Liste bereits die Form 150×1 haben müssen:
Code: Alles auswählen
In [173]: np.array([np.zeros(150) for _ in range(3)]).shape
Out[173]: (3, 150)
In [174]: np.array([np.zeros((150, 1)) for _ in range(3)]).shape
Out[174]: (3, 150, 1)