Hoe lees ik CSV-gegevens in een record array in NumPy?
Ik vraag me af of er een directe manier is om de inhoud van een CSV bestand in een record array te importeren, ongeveer op de manier waarop R's read.table()
, read.delim()
, en read.csv()
familie gegevens importeert in R's data frame?
Of is de beste manier om csv.reader() te gebruiken en dan iets als numpy.core.records.fromrecords()
toe te passen?
376
3
Je kunt Numpy's
genfromtxt()
methode hiervoor gebruiken, door dedelimiter
kwarg op een komma te zetten.Meer informatie over de functie is te vinden in zijn respectievelijke documentatie.
Ik zou de [
read_csv
][1] functie uit depandas
bibliotheek aanraden:Dit geeft een pandas [DataFrame][2] - waardoor [veel handige data manipulatie functies die niet direct beschikbaar zijn met numpy record arrays][3].
Ik zou ook
genfromtxt
aanraden. Echter, omdat de vraag vraagt om een [record array][4], in tegenstelling tot een normale array, moet dedtype=None
parameter worden toegevoegd aan degenfromtxt
aanroep:Gegeven een invoerbestand,
myfile.csv
:geeft een matrix:
en
geeft een record array:
Je kunt ook
recfromcsv()
proberen, dat datatypes kan raden en een correct geformatteerde record array kan retourneren.