np.array mehrdimensioanle arrays

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.
Antworten
MathGenie123
User
Beiträge: 43
Registriert: Montag 18. April 2022, 13:13

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
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
MathGenie123
User
Beiträge: 43
Registriert: Montag 18. April 2022, 13:13

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 ?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ja natuerlich, denn dann brauchst du ja nunmal drei Indizes.
MathGenie123
User
Beiträge: 43
Registriert: Montag 18. April 2022, 13:13

danke :)
Benutzeravatar
__blackjack__
User
Beiträge: 14078
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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)
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten