Zusammenfassung zum Lesen numerischer Daten mit Python [CSV, NetCDF, Fortran Binary]

Python ist eine sehr praktische Sprache zum Analysieren numerischer Daten. Der erste Schritt beim Analysieren von Daten besteht jedoch darin, die Daten zu laden. Daher werden wir zusammenfassen, wie numerische Daten in verschiedenen Formaten in Form eines Numpy-Arrays gelesen werden.

Im Folgenden wird in allen Fällen der Inhalt der Datei in Daten gespeichert.

** CSV (Text) Datei lesen **

filename.csv


 year,Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
2001,-0.4,-0.3,-0.2,-0.1,0,0,-0.1,-0.2,-0.3,-0.4,-0.5,-0.4
2002,-0.3,-0.1,0,0.3,0.4,0.5,0.6,0.7,0.8,1,1,1
2003,0.8,0.5,0,-0.2,-0.2,-0.2,-0.1,0.1,0.3,0.4,0.4,0.4
2004,0.4,0.3,0.1,0,-0.1,0,0,0.2,0.3,0.4,0.4,0.3
2005,0.2,0.1,0.1,0.1,0.2,0.3,0.2,0.1,-0.2,-0.5,-0.7,-0.8
2006,-0.8,-0.7,-0.5,-0.3,-0.2,0.1,0.3,0.4,0.6,0.8,0.9,0.8
2007,0.5,0.2,-0.2,-0.5,-0.6,-0.7,-0.9,-1.1,-1.3,-1.4,-1.5,-1.5
2008,-1.4,-1.1,-0.8,-0.5,-0.1,0.1,0.2,0.2,0.2,0,-0.2,-0.4
2009,-0.5,-0.5,-0.3,0,0.3,0.5,0.7,0.8,0.9,1,1,1.1
2010,1.1,0.9,0.7,0.3,0,-0.4,-0.8,-1.1,-1.3,-1.4,-1.5,-1.4
2011,-1.2,-0.9,-0.7,-0.4,-0.2,-0.2,-0.2,-0.4,-0.6,-0.8,-0.8,-0.7
2012,-0.6,-0.3,-0.1,0.1,0.3,0.4,0.5,0.5,0.4,0.2,0,-0.2
2013,-0.2,-0.3,-0.4,-0.4,-0.5,-0.6,-0.6,-0.5,-0.3,-0.2,-0.1,-0.2
2014,-0.2,-0.1,0,0.2,0.4,0.5,0.5,0.5,0.6,0.7,0.7,0.6
2015,0.5,0.5,0.6,0.8,1.2,99.9,99.9,99.9,99.9,99.9,99.9,99.9

Lesen Sie die oben angezeigten Textdaten, wenn Sie sie im Editor öffnen.

import numpy as np
data = np.loadtxt('filename.csv', comments='year', delimiter=',', dtype='float')

** Erklärung **

** Referenz-URL **

** NetCDF-Datei lesen **

import netCDF4
nc = netCDF4.Dataset('filename.nc', 'r')
data = nc.variables['varname'][:]

** Erklärung **

** Referenz-URL **

** Lesen von Fortran-Binärdateien **

write_binary_2D.f90


program main

  implicit none

  integer,parameter::N=10,M=20
  integer::i,j
  real,dimension(1:N,1:M)::x

  open(10,file='filename.out',form='unformatted',access='direct',recl=N*4)

  do i = 1,N
     do j = 1,M
        x(i,j) = i+j*2
     end do
  end do

  do j = 1,M
     write(10,rec=j)(x(i,j),i=1,N)
  end do

  close(10)

end program main

Lesen wir den Inhalt von filename.out (eine 4-Byte-Gleitkomma-Binärdatei ohne einen kleinen tolandischen Header, allgemein als GrADS-Format bezeichnet), der mit dem obigen Programm erstellt wurde.

import numpy as np
N = 10  #Die Anzahl der pro Datensatznummer gespeicherten Daten.
M = 20  #Gesamtzahl der Datensätze.
f = open('filename.out', 'r')
dty = np.dtype([('data', '<' + str(N) + 'f')])
chunk = np.fromfile(f, dtype=dty, count=M)
data = np.array([chunk[j]['data'] for j in range(M)])

** Erklärung **

data = []
for j in range(M):
    data.append(chunk[j]['data'])
    
data = np.array(data)

Wird in einer Zeile umgeschrieben.

--chunk [k-1] entspricht den Daten der Datensatznummer k in fortran. Wenn Sie beispielsweise nur die Daten mit Datensatznummer 6 abrufen möchten, setzen Sie die letzte Zeile

   data = chunk[5]['data']

Sie können es durch ersetzen.

** Referenz-URL **

Recommended Posts

Zusammenfassung zum Lesen numerischer Daten mit Python [CSV, NetCDF, Fortran Binary]
Lesen einer CSV-Datei mit Python 2/3
[Python] Zusammenfassung der Verwendung von Pandas
[Python2.7] Zusammenfassung der Verwendung von unittest
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Wie man Problemdaten mit Paiza liest
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
Erstellen von CSV-Beispieldaten mit Hypothese
Lesen Sie Daten mit python / netCDF> nc.variables [] / Überprüfen Sie die Datengröße
Zusammenfassung zum Importieren von Dateien in Python 3
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
[Python] Wie man Excel-Dateien mit Pandas liest
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
Zusammenfassung der Verwendung von MNIST mit Python
So legen Sie Attribute mit Mock of Python fest
Schreiben Sie CSV-Daten mit AWS-Lambda + Python in AWS-S3
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Zusammenfassung der Tools, die zum Analysieren von Daten in Python benötigt werden
So kratzen Sie Bilddaten von Flickr mit Python
So geben Sie die CSV eines mehrzeiligen Headers mit Pandas aus
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
[Python] Umgang mit Pandas read_html Lesefehler
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Lesen von CSVs, die in Python nur Ganzzahlen enthalten
Zusammenfassung, wie der Status mit mehreren Funktionen geteilt wird
[Python] Zusammenfassung der Funktionen eval / exec + Schreiben einer Zeichenfolge mit Zeilenumbrüchen
Lesen Sie CSV mit Python-Pandas
Schreiben Sie mit Python in csv
Lesen von JSON-Daten mit Python
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
So aktivieren Sie das Lesen / Schreiben von net.Conn mit golang, um mit dem Kontext abzubrechen
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
Lesen einer Excel-Datei (.xlsx) mit Pandas [Python]
Grundlegende Zusammenfassung der Datenoperationen mit Python Pandas - Erste Hälfte: Datenerstellung und -operationen
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
[Python / Ruby] Mit Code verstehen Wie man Daten aus dem Internet abruft und in CSV schreibt
[Python] Wie man MP3-Daten fFT
Python: So verwenden Sie Async mit
Lesen von e-Stat-Subregionsdaten
[Python] Mit Python in eine CSV-Datei schreiben
Zusammenfassung der Verwendung von pandas.DataFrame.loc
Ausgabe in eine CSV-Datei mit Python
Umgang mit unausgeglichenen Daten
Zusammenfassung der Verwendung von pyenv-virtualenv
Erste Schritte mit Python
Aufblasen von Daten (Datenerweiterung) mit PyTorch
So berechnen Sie das Datum mit Python
Zusammenfassung der Verwendung von csvkit
So extrahieren Sie Funktionen von Zeitreihendaten mit PySpark Basics
[Hugo] Zusammenfassung zum Hinzufügen von Seiten zu der mit Learn erstellten Site
So importieren Sie CSV- und TSV-Dateien mit Python in SQLite
So vermeiden Sie doppelte Daten bei der Eingabe von Python in SQLite.
Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
[Python] Lesen Sie eine CSV-Datei mit großen Datenmengen mithilfe eines Generators
[Python] So konvertieren Sie eine Datenbankdatei in CSV