Numpy GenfromTxt

Numpy GenfromTxt

Ein besonders beliebtes und weit verbreitetes Python-Paket ist numpy. Es bietet Ihnen mehrere Funktionen, um Tabellendaten in ein Array umzuwandeln. Eine davon ist der Numpy.GenfromText () -Funktion. Eine der vielen Funktionen der Python Numpy -Bibliothek, die tabellarische Daten empfängt. In diesem Beitrag gehen wir durch, wie man Python Numpy benutzt.GenfromTxt () Funktion zum Laden von Daten aus einer Textdatei. Während des gesamten Tutorials werden wir die Verwendung von Numpy Genfromtxt und der Methode GenfromText () demonstrieren.

GenfromTxt () Funktionsdefinition

Eine Textdatei kann Daten unter Verwendung der Funktion "GenfromTxt () in ein Programm laden. Um den Inhalt in der Textdatei zu reinigen, sind mehrere Argumentwerte erforderlich. Durch die Verwendung von Filterung, Löschen und Ersetzen von Vorgängen kann es auch mit fehlenden oder Nullwerten fertig werden.

Es gibt zwei Schleifen in Numpy GenfromTxt. Jede Zeile der Datei wird unter Verwendung einer einzelnen Schleife in eine String -Sequenz konvertiert. Die zweite Schleife wechselt dann jede Zeichenfolge in den richtigen Datentyp. Infolgedessen ist dieser Ansatz langsamer und nicht so effizient wie die Einzelschleife. Die GenfromTXT -Methode ist für die Eingabe von Lücken in den Daten verantwortlich, wenn fehlende Werte fehlen.

Syntax der GenfromTxt () -Funktion

Wir haben die folgende Syntax der GenfromTxt () -Funktion angehängt:


Die GenfromTxt () -Funktion akzeptiert eine Vielzahl von Argumenten. Aber wir konzentrieren uns auf die typischsten:

Parametername

Beschreibung

fname Der Dateiname, der gelesen wird, wird als FNAME angegeben.
DTYPE Dies zeigt den Datentyp des resultierenden Arrays an. Der Standardwert des DTYPE ist „Float.”
Kommentare Diese Option beschreibt jede Informationszeile.
Ablager = keine Der Wert, der verwendet wird, um Werte zu teilen, ist dieser.
überspringen_header = 0 Dieser Wert weist die Datei an, Zeilen ab dem Anfang zu überspringen.
Skip_footer = 0 Mit dieser Option sollen die unteren Zeilen der Datei übersprungen werden.
Konverter = keine Dieser Wert gibt Lambda -Funktionen oder Variablen an, wie Spaltendaten in Werte konvertiert werden können.
vermisst_values ​​= keine Dieser ist der Zeichenfolgenwert, der zum Ausfüllen fehlender Werte verwendet wird.

Sprechen wir über verschiedene numpy genfromtxt -Beispiele, um mehr darüber zu erfahren, wie diese wichtige Funktion funktioniert.

Beispiel 1

Beginnen wir mit einem einfachen Beispiel. Um das Ausgangsarray mit der GenfromTxt -Funktion zu erstellen, haben wir zuerst die Bibliotheken „Numpy“ und „IO“ aufgerufen. Da wir den Unicode der String in den Daten verwendet haben, werden Daten manuell im String -Format bereitgestellt und dann über die GenfromTXT -Methode unter Verwendung der Funktion „Stringio“ übertragen. Hier können Sie sehen, dass Kommas als Grenzwerte verwendet werden, da sie verwendet werden können, um zwischen Werten zu unterscheiden. Das Ergebnisarray der GenfromTxt -Funktion enthält das gebildete Ausgangsarray. Versuchen Sie, den folgenden Code zu verstehen:

Numpy importieren
Aus IO importieren Stringio
Werte = U "11, 22, 33 \ N111, 222, 333 \ N55, 101,112"
data_val = numpy.GenfromTXT (Stringio (Werte), Delimiter = ","))
print (data_val)



Das Eingabeformat kann als Generator, Liste der Zeichenfolgen, Zeichenfolge, die Objektdatei mit Lesefunktion oder Zeichenfolge angegeben werden. Die GenfromTXT -Funktion nimmt das Ausgangsarray in Abhängigkeit vom Eingangstyp an und zeigt an. Siehe die folgende Ausgabe:


Bitte beachten Sie, dass die GenfromTxt -Methode eine einzelne Zeichenfolge als Dateinamen interpretiert, unabhängig davon, ob sie sich lokal oder remote befindet. Die GenfromTXT -Methode kann auch den URL.

Beispiel 2

In diesem Beispiel werden wir sehen, wie Sie die Trennzeichenoption verwenden. Diese Option wird hier verwendet, um die Daten für unser Ausgabebarium abhängig von der Breite der in der Eingabedatei angegebenen Werte zu teilen.

Da wir kein Komma oder ein anderes Zeichen verwendet haben, um die beiden Eingabedaten mit dem Namen "Werte1" und "Werte2" zu trennen, die Ganzzahlen unterschiedlicher Breiten enthalten unser beabsichtigtes Ausgangsarray.

Da die beiden Eingänge in einer einzelnen Zeile unterschiedliche Wertschöpfungsbreiten hatten, haben wir die Spalten in drei Wertegruppen aufgeteilt, indem wir den Ganzzahl -Trennzeichen 3 verwendeten. Wenn die Werte in unserer Eingabedatei die gleiche Breite haben, können wir diese Methode verwenden. Wenn die Werte in der Datei nicht alle gleich sind, können wir eine Sequenz von ganzzahligen Werten als Trennzeichen verwenden, um die Werte zu teilen. Wir haben den Trennzeichen der Sequenzen 4, 3 und 2 verwendet.

Numph als NP importieren
Aus IO importieren Stringio
Werte1 = u "2 2 6 \ n 4 2 66 \ n453203 3"
values_input1 = np.GenfromTXT (stringio (values1), delimiter = 3)
print (values_input1)
Werte2 = U "665636143 \ n 3 5 7 \ n 6532 9"
values_input2 = np.GenfromTXT (stringio (values2), delimiter = (4, 3, 2))
print (values_input2)



Hier ist die folgende Ausgabe:

Beispiel 3

In diesem Beispiel werden wir über den AutoStrip -Parameter der GenfromTxt () -Funktion sprechen. Diese Option wird verwendet, um die weißen Räume zwischen den Werten in unserer Datendatei automatisch zu löschen.

Wenn Sie einen Trennzeichen verwenden, unterteilt sich die Linie in eine Zeichenfolge, einschließlich der verfügbaren Whitespace. Wenn wir jedoch „AutoStrip = true“ als Parameter bestehen, erhalten wir stattdessen eine Reihe leerer Zeichen.

Im folgenden Screenshot können Sie feststellen, dass wir die Module zuerst importiert und unsere Daten in einer Variablen mit dem Namen "Werte" erstellt haben. Danach haben wir die Genfromtxt -Funktion verwendet. Hier verwenden wir die Funktion „AutoStrip“ nicht. Wir werden diese Option im kommenden Abschnitt verwenden. Führen Sie den folgenden Code aus und überprüfen Sie dann die Ergebnisse. Hier haben wir die AutoStrip -Funktion nicht verwendet.

Numpy importieren
Aus IO importieren Stringio
Werte = U "2, xyz, 4 \ n 5, nnn, 2"
Druck (Numpy.GenfromTXT (Stringio (Werte), Delimiter = ",", DTYPE = "| U5"))



Im Folgenden finden Sie das Ergebnis, in dem Sie die Räume zwischen den Daten sehen können:


Im folgenden Bildschirm sehen Sie, dass der Rest des Codes mit Ausnahme der Option „AutoStrip“ am Ende der letzten Zeile des Codes mit Ausnahme der Option „AutoStrip“ übereinstimmt.

Numpy importieren
Aus IO importieren Stringio
Werte = U "2, xyz, 4 \ n 5, nnn, 2"
Druck (Numpy.GenfromTXT (Stringio (Werte), Delimiter = ",", DTYPE = "| U5", AutoStrip = true))



Hier ist das Ergebnis. Sie können diese Ausgabe mit der vorherigen Ausgabe übereinstimmen und den Unterschied sehen.

Beispiel 4

Nehmen wir an, Sie möchten Material aus den Zeichenfolgen, die Kommentare oder bestimmte Symbole enthalten. Sie können dies erreichen, indem Sie Kommentareparameter an die Methode von GenfromTxt () übergeben. Führen Sie den folgenden Code aus:

Numpy importieren
Aus IO importieren Stringio
values ​​= u "" "#
# Ignorieren !
# Ignorieren Sie dies auch!
11, 1
31, 5
12, 9
15, 13
# Dies ist die letzte Zeile des Codes!
6, 3
"" "
Druck (Numpy.GenfromTXT (Stringio (Werte), Kommentare = "#", delimiter = ","))



Hier ist die Ausgabe, in der Sie sehen können, dass die im vorherigen Code genannten Kommentare ignoriert werden.

Abschluss

Um eine gründliche Verständnis der Numph -Genfromtxt -Funktion und ihrer Arbeit zu haben, haben wir sie mit mehreren Beispielen in diesem Beitrag ausführlich angesehen. Wir haben Beispiele für die Verwendung der GenfromTXT -Funktion gesehen, um Eingabedatendateien mit verschiedenen Datentypen zu lesen und verschiedene Trennzeichenoptionen und Ansätze zu verwenden. Sie können auf diese Informationen verweisen, wenn Sie in diesem Konzept neu sind. Dieser Artikel enthält alle entscheidenden Details zur Genfromtxt -Funktion und ihrer Verwendung.