Leia CSV para NumPy Array em Python
-
Use a função
numpy.genfromtxt()
para ler dados CSV para uma NumPy array -
Use um DataFrame
pandas
para ler dados CSV para um NumPy Array -
Use o módulo
csv
para ler dados CSV para uma NumPy array
Este tutorial discutirá como ler dados de um arquivo CSV e armazená-los em um array numpy.
Use a função numpy.genfromtxt()
para ler dados CSV para uma NumPy array
A função genfromtxt()
é freqüentemente usada para carregar dados de arquivos de texto. Podemos ler dados de arquivos CSV usando esta função e armazená-los em um array numpy. Esta função tem muitos argumentos disponíveis, tornando mais fácil carregar os dados em nosso formato desejado. Podemos especificar o delimitador, lidar com os valores ausentes, excluir os caracteres especificados e especificar o tipo de dados dos dados usando os diferentes argumentos desta função.
Por exemplo,
from numpy import genfromtxt
data = genfromtxt("sample.csv", delimiter=",", skip_header=1)
print(data)
Resultado:
[[1. 2. 3.]
[4. 5. 6.]]
Muitas outras funções são derivadas disso, como recfromtxt()
e recfromcsv()
que podem executar a mesma função, mas têm valores padrão diferentes.
No código a seguir, leremos os dados de um arquivo CSV usando o arquivo recfromcsv()
.
import numpy as np
data = np.recfromcsv("sample.csv", skip_header=0)
print(data)
Resultado:
[(1, 2, 3) (4, 5, 6)]
Observe que não precisamos especificar o delimitador como uma vírgula e o valor diferente para especificar a linha do cabeçalho.
Use um DataFrame pandas
para ler dados CSV para um NumPy Array
Também podemos usar um DataFrame pandas
para ler dados CSV em um array. Para isso, vamos ler os dados para um DataFrame e então converter para um array numpy()
usando a função values()
da biblioteca pandas
.
O código a seguir implementa isso.
from pandas import read_csv
df = read_csv("sample.csv")
data = df.values
print(data)
Resultado:
[[1 2 3]
[4 5 6]]
Use o módulo csv
para ler dados CSV para uma NumPy array
O módulo csv
é usado para ler e gravar dados em arquivos CSV de forma eficiente. Este método lerá os dados de um arquivo CSV usando este módulo e os armazenará em uma lista. Em seguida, procederemos para converter essa lista em um array numpy.
O código abaixo irá explicar isso.
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)
Resultado:
[['1,2,3']
['4,5,6']]
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