Leggi CSV in NumPy Array in Python

Manav Narula 6 febbraio 2023
  1. Usa la funzione numpy.genfromtxt() per leggere i dati CSV in un array NumPy
  2. Usa un DataFrame pandas per leggere i dati CSV in un array NumPy
  3. Usa il modulo csv per leggere i dati CSV su un array NumPy
Leggi CSV in NumPy Array in Python

Questo tutorial discuterà come leggere i dati da un file CSV e archiviarli in un array numpy.

Usa la funzione numpy.genfromtxt() per leggere i dati CSV in un array NumPy

La funzione genfromtxt() è spesso usata per caricare dati da file di testo. Possiamo leggere i dati dai file CSV utilizzando questa funzione e memorizzarli in un array numpy. Questa funzione ha molti argomenti disponibili, rendendo più facile caricare i dati nel formato desiderato. Possiamo specificare il delimitatore, gestire i valori mancanti, eliminare i caratteri specificati e specificare il tipo di dati dei dati utilizzando i diversi argomenti di questa funzione.

Per esempio,

from numpy import genfromtxt

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

Produzione:

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

Molte altre funzioni derivano da questo, come recfromtxt() e recfromcsv() che possono eseguire la stessa funzione ma hanno valori predefiniti diversi.

Nel codice seguente, leggeremo i dati da un file CSV utilizzando il file recfromcsv().

import numpy as np

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

Produzione:

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

Nota che non dovevamo specificare il delimitatore come virgola e il valore diverso per specificare la riga di intestazione.

Usa un DataFrame pandas per leggere i dati CSV in un array NumPy

Possiamo anche utilizzare un DataFrame pandas per leggere i dati CSV in un array. Per questo, leggeremo i dati in un DataFrame e poi lo convertiremo in un array NumPy usando la funzione values() dalla libreria pandas.

Il codice seguente implementa questo.

from pandas import read_csv

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

Produzione:

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

Usa il modulo csv per leggere i dati CSV su un array NumPy

Il modulo csv viene utilizzato per leggere e scrivere dati su file CSV in modo efficiente. Questo metodo leggerà i dati da un file CSV utilizzando questo modulo e li memorizzerà in una lista. Procederemo quindi a convertire questo elenco in un array numpy.

Il codice seguente lo spiegherà.

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)

Produzione:

[['1,2,3']
 ['4,5,6']]
Autore: Manav Narula
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