CSV-zu-NumPy-Array lesen in Python

Manav Narula 6 Februar 2023
  1. Verwenden die Funktion numpy.genfromtxt() zum CSV-Daten in ein NumPy-Array zu lesen
  2. Verwendung eines pandas DataFrame zum Einlesen von CSV-Daten in ein NumPy-Array
  3. Verwenden des csv-Moduls zum Einlesen von CSV-Daten in ein NumPy-Array
CSV-zu-NumPy-Array lesen in Python

In diesem Tutorial wird erläutert, wie Sie Daten aus einer CSV-Datei lesen und in einem NumPy-Array speichern.

Verwenden die Funktion numpy.genfromtxt() zum CSV-Daten in ein NumPy-Array zu lesen

Die Funktion genfromtxt() wird häufig zum Laden von Daten aus Textdateien verwendet. Mit dieser Funktion können wir Daten aus CSV-Dateien lesen und in einem NumPy-Array speichern. Diese Funktion verfügt über viele Argumente, die das Laden der Daten in das gewünschte Format erleichtern. Mit den verschiedenen Argumenten dieser Funktion können wir das Trennzeichen angeben, fehlende Werte behandeln, angegebene Zeichen löschen und den Datentyp der Daten angeben.

Beispielsweise,

from numpy import genfromtxt

data = genfromtxt("sample.csv", delimiter=",", skip_header=1)
print(data)

Ausgabe:

[[1. 2. 3.]
 [4. 5. 6.]]

Daraus leiten sich viele andere Funktionen ab, wie z. B. recfromtxt() und recfromcsv(), die dieselbe Funktion ausführen können, jedoch unterschiedliche Standardwerte haben.

Im folgenden Code werden wir mit recfromcsv() Daten aus einer CSV-Datei lesen.

import numpy as np

data = np.recfromcsv("sample.csv", skip_header=0)
print(data)

Ausgabe:

[(1, 2, 3) (4, 5, 6)]

Beachten Sie, dass wir das Trennzeichen nicht als Komma und den anderen Wert angeben mussten, um die Kopfzeile anzugeben.

Verwendung eines pandas DataFrame zum Einlesen von CSV-Daten in ein NumPy-Array

Wir können auch einen pandas-DataFrame verwenden, um CSV-Daten in ein Array einzulesen. Dazu lesen wir die Daten in einen DataFrame und konvertieren diese dann mit der Funktion values() aus der Bibliothek pandas in ein NumPy Array.

Der folgende Code implementiert dies.

from pandas import read_csv

df = read_csv("sample.csv")
data = df.values
print(data)

Ausgabe:

[[1 2 3]
 [4 5 6]]

Verwenden des csv-Moduls zum Einlesen von CSV-Daten in ein NumPy-Array

Mit dem Modul csv können Daten effizient in CSV-Dateien gelesen und geschrieben werden. Diese Methode liest mit diesem Modul die Daten aus einer CSV-Datei und speichert sie in einer Liste. Wir werden dann fortfahren, diese Liste in ein NumPy-Array zu konvertieren.

Der folgende Code erklärt dies.

import csv
import numpy as np

with open("sample.csv", "r") as f:
    data = list(csv.reader(f, delimiter=";"))

data = np.array(data)
print(data)

Ausgabe:

[['1,2,3']
 ['4,5,6']]
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn