Détails
Comment lire des données CSV dans un tableau d'enregistrements en NumPy ?
Je me demande s'il existe un moyen direct d'importer le contenu d'un fichier CSV dans un tableau d'enregistrements, de la même manière que la famille read.table()
, read.delim()
, et read.csv()
importe des données dans le cadre de données de R's ?
Ou bien la meilleure façon d'utiliser [csv.reader()][1] et d'appliquer ensuite quelque chose comme numpy.core.records.fromrecords()
?
[1] : https://stackoverflow.com/questions/2859404/reading-csv-files-in-scipy-numpy-in-python
376
3
Vous pouvez utiliser la méthode
genfromtxt()
de Numpy pour le faire, en mettant le kwargdelimiter
à une virgule.Vous trouverez plus d'informations sur la fonction dans sa [documentation][1] respective.
[1] : http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html
Je recommande la fonction [
read_csv
][1] de la bibliothèquepandas
:Cela donne un [DataFrame][2] pandas - permettant [de nombreuses fonctions utiles de manipulation de données qui ne sont pas directement disponibles avec les tableaux d'enregistrements numpy][3].
Je recommande également
genfromtxt
. Cependant, puisque la question demande un [record array][4], par opposition à un tableau normal, le paramètredtype=None
doit être ajouté à l'appelgenfromtxt
:Étant donné un fichier d'entrée,
myfile.csv
:donne un tableau :
et
donne un tableau d'enregistrements :
Vous pouvez aussi essayer
recfromcsv()
qui peut deviner les types de données et retourner un tableau d'enregistrement correctement formaté.