Hallo,
bin dabei während Corona Python zu lernen, bin aber noch absoluter Anfänger.
Ich habe einen numpy array, welchen ich mit einer for i in Range... Schleife durchlaufe.
Jetzt will ich aber nicht jede Zeile ansprechen , sondern nur den ersten Buchstaben jeder Zeile.
Bei nparray [i,0] in der Schleife funktioniert
Danke für die Hilfe
Hans
Np.arrays
-
- User
- Beiträge: 512
- Registriert: Mittwoch 13. November 2019, 08:38
Was ist denn deine Frage? Was für Buchstaben? Wie sieht dein Code aus, was macht er und was erwartest du, dass er machen sollte?
Grundsätzlich: Meistens ist es falsch Numpy-Arrays oder Pandas-DataFrames in einer Schleife zu durchlaufen. In der Regel will man die entsprechenden Funktionen verwenden.
Tipp: Bevor du dich Numpy widmest, solltest du unbedingt das Grundlagentutorial durcharbeiten und verstehen https://docs.python.org/3/tutorial/
Grundsätzlich: Meistens ist es falsch Numpy-Arrays oder Pandas-DataFrames in einer Schleife zu durchlaufen. In der Regel will man die entsprechenden Funktionen verwenden.
Tipp: Bevor du dich Numpy widmest, solltest du unbedingt das Grundlagentutorial durcharbeiten und verstehen https://docs.python.org/3/tutorial/
Hallo,
willst du auf so etwas raus:
Bis zum ersten 'print' wird ein Array erstellt. Die Ausgabe sieht so aus:
[[1 2]
[3 4]
[5 6]]
Dann willst du aus jeder Reihe den ersten Index? Das wäre dann die Ausgabe des zweiten 'prints':
[1]
[3]
[5]
Ist dass das was du gesucht hast?
Grüße
Dennis
willst du auf so etwas raus:
Code: Alles auswählen
import numpy as np
ROWS = 3
COLUMN = 2
test_array = np.array([[1,2,3],[4,5,6]])
test_array.shape = (ROWS, COLUMN)
print(test_array)
for row in range (ROWS):
print(test_array[[row], [0]])
[[1 2]
[3 4]
[5 6]]
Dann willst du aus jeder Reihe den ersten Index? Das wäre dann die Ausgabe des zweiten 'prints':
[1]
[3]
[5]
Ist dass das was du gesucht hast?
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
@Dennis89: Warum erstellst du zuerst ein Numpy Array, um dann seine shape zu ändern? Warum erstellst du nicht direkt das richtige Array? Bei der Frage vom Threadersteller sehe ich nichts, das darauf hindeutet so etwas machen zu wollen.
Warum iterierst du in der for-Schleife über einen Index? Das ist in Python eher unüblich und ohne geht es hier doch auch
Warum iterierst du in der for-Schleife über einen Index? Das ist in Python eher unüblich und ohne geht es hier doch auch
Code: Alles auswählen
for row in test_array:
...
Hallo @ Zizibee
stimmt darüber habe ich gar nicht nachgedacht. Hatte den Array-Code so mal abgespeichert gehabt und einfach für das Beispiel übernommen.
Er schrieb:
Den Index habe ich genommen, da mir mit deinem Ansatz für 'row' der Inhalt der ganzen Reihe ausgegeben wird und ich dachte dass das hier nicht gewünscht ist.
Grüße
Dennis
stimmt darüber habe ich gar nicht nachgedacht. Hatte den Array-Code so mal abgespeichert gehabt und einfach für das Beispiel übernommen.
Er schrieb:
Das habe ich dann so interpretiert, wie die Ausgabe meines Beispiels zeigt. Vielleicht kann er sich nochmals genauers dazu äußern.Jetzt will ich aber nicht jede Zeile ansprechen , sondern nur den ersten Buchstaben jeder Zeile.
Den Index habe ich genommen, da mir mit deinem Ansatz für 'row' der Inhalt der ganzen Reihe ausgegeben wird und ich dachte dass das hier nicht gewünscht ist.
Grüße
Dennis
"When I got the music, I got a place to go" [Rancid, 1993]
Hallo danke für die Antworten,
in meinem Array stehen Strings und keine int.
Mein Ansatz war so ähnlich wie der oben genannte.
Der versucht den ersten Buchstaben über den Index 0 des Strings anzusprechen.
Habe gerade gemerkt, dass der Daten Typ ein tupel ist, macht das einen Unterschied.
Dachte lesend kann ein Zugriff auf Tupel erfolgen.
Danke Hans
in meinem Array stehen Strings und keine int.
Mein Ansatz war so ähnlich wie der oben genannte.
Der versucht den ersten Buchstaben über den Index 0 des Strings anzusprechen.
Habe gerade gemerkt, dass der Daten Typ ein tupel ist, macht das einen Unterschied.
Dachte lesend kann ein Zugriff auf Tupel erfolgen.
Danke Hans
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Hans123: Hol mal ein bisschen weiter aus was Du eigentlich machen willst, denn Zeichenketten in einem Numpy-Array hört sich erst einmal falsch an. Warum machst Du das?
Welcher Datentyp ist ein Tupel?
Welcher Datentyp ist ein Tupel?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
@Dennis89: Man kann ja auch ohne Index auf das erste Element von row zugreifen
Code: Alles auswählen
for row in test_array:
print(row[0])