Seite 1 von 1
Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 13:19
von Hans123
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
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 13:49
von einfachTobi
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/
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 13:55
von Dennis89
Hallo,
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]])
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
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 14:53
von Zizibee
@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
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 19:00
von Dennis89
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:
Jetzt will ich aber nicht jede Zeile ansprechen , sondern nur den ersten Buchstaben jeder Zeile.
Das habe ich dann so interpretiert, wie die Ausgabe meines Beispiels zeigt. Vielleicht kann er sich nochmals genauers dazu äußern.
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
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 20:00
von Hans123
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
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 20:04
von __blackjack__
@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?
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 20:50
von Hans123
Danke an alle.
Hat geklappt
Re: Np.arrays
Verfasst: Donnerstag 7. Januar 2021, 21:18
von Dennis89
Mich würde interessieren, was denn jetzt genau das Problem war und wie du es gelöst hast?
Grüße
Dennis
Re: Np.arrays
Verfasst: Freitag 8. Januar 2021, 08:01
von Zizibee
@Dennis89: Man kann ja auch ohne Index auf das erste Element von row zugreifen
Re: Np.arrays
Verfasst: Freitag 8. Januar 2021, 09:02
von Dennis89
@Zizibee Danke, daran habe ich nicht gedacht.