Zum Beispiel habe ich csv
Datei enthält zehn Spalten. Ist es möglich, es in zwei Variablen zu lesen - die erste wird 1-2..9 Spalten enthalten und die zweite wird die letzte Spalte mittels loadtxt
oder genfromtxt
enthalten?Lesen Sie CSV-Daten von numpy
Antwort
a = numpy.loadtxt('blah.csv', delimiter=',') # loads it all into one big array
a1 = a[:, :-1] # a view of all but the last column
a2 = a[:, [-1]] # a copy of just the last column
(Oder, wenn Sie Ihre letzten Spalte Variable wollen eindimensional sein, können Sie einen Blick auf bekommen es a[:,-1]
anstelle a[:, [-1]]
zu sagen.)
Leider glaube ich nicht, dass ein [:, [-1]] eine Ansicht ist, sondern eine Kopie. –
@ juanpa.arrivillaga guter Punkt – jez
Ja, wahrscheinlich wollen Sie sowieso keine Aussicht. –
numpy.loadtext('filename.csv', usecols(0,1,2,...,n-2))
numpy.loadtext('filename.csv', usecols = n-1)
Hinweis: Der Index Ihrer Spalten sollte um 1 dekrementiert werden, da numpy beim Laden mit 0 beginnt.
Aus der Dokumentation https://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html:
usecols: int oder Sequenz, optional Welche Spalten zu lesen, wobei 0 die erste. Zum Beispiel wird usecols = (1,4,5) die zweite, fünfte und sechste Spalte extrahieren. Der Standard, None,> Ergebnisse in allen Spalten gelesen werden.“
Falls Sie wirklich nicht numpy brauchen. Sie Pandas verwenden könnten (http://pandas.pydata.org/) oder CSV (https://docs.python.org/2/library/csv.html) Bibliotheken.
Obwohl dies die Frage nicht beantwortet, kann ich die Empfehlung, dass die OP in Pandas-es klingt, als ob sie etwas tun, für die Pandas ist sehr gut geeignet ist. – jez
- 1. Wie lesen Sie richtig Strings von SQL-Datenbank mit NumPy
- 2. Lesen von Daten als Spaltennamen Numpy genfromtxt
- 3. pyopengl Puffer dynamisches Lesen von numpy Array
- 4. Lesen von Daten von FORTRAN90-Datei generiert in NUMPY-Array
- 5. fügen Sie eine neue Zeile zu numpy mit Echtzeit lesen
- 6. wie numpy 2D-Array von String zu lesen?
- 7. Lesen von CSV-Dateien in numpy wo Trennzeichen ""
- 8. eine Textdatei von rekursiv Überspringen Zeilen Lesen mit numpy
- 9. lesen char Daten aus Binärdatei mit numpy
- 10. Numpy-Matrix in Batches im Tensorflow lesen
- 11. Große formatierte Textdatei mit NumPy lesen
- 12. Numpy Lesen von Daten aus '.npy' Datei direkt in Arrays
- 13. python zipfile effizient in numpy-array lesen
- 14. Wie CSV in Datensatzarray in numpy lesen?
- 15. Machen Sie 2D Numpy Array von Koordinaten
- 16. Erstellen Numpy Array von Bildern
- 17. Ersatzeinträge von numpy Array mit numpy Arrays
- 18. Lesen Sie Daten von rfcomm0
- 19. Mehrere Arrays in einer Binärdatei mit numpy lesen
- 20. Lesen einer numpy gespeicherten Datei in eine Liste
- 21. Lesen Sie eine Textdatei in einen Pandas Datenrahmen oder numpy Array
- 22. Numpy Mittelwert von Nullwerten
- 23. Beschleunigen von Numpy Masking
- 24. Rolle von [:] in numpy
- 25. Neuanordnung von numpy Arrays
- 26. Numpy Slicing von Variable
- 27. Verhalten von numpy atleast_3d()
- 28. Verwendung von numpy fromfunction
- 29. numpy Stapelreihen von ndarray
- 30. Verketten von NumPy-Arrays
Sie könnten lese es in ein großes Array 'a' (sehr einfach mit' loadtxt') und betrachte dann zwei verschiedene Slices, 'a1 = a [:,: -1]' und 'a2 = a [:, [-1]] ' – jez
Haben Sie in das Import-CSV-Modul untersucht? Diese Antwort sollte den Job erledigt bekommen: http://stackoverflow.com/questions/24662571/python-import-csv-to-list –
@ Z.Bagley ja, aber das ist eine 'numpy' Frage, die bereits Funktionen hat, um csvs direkt in' numpy' Datenstrukturen zu laden. Mit 'csv' in Dieser Fall ist ein unnötiger Zwischenhändler. –