Hallo. In diesem Artikel werde ich einige der Stolpersteine beim Arbeiten mit Binärdaten in Python teilen.
Bereiten Sie zunächst eine Funktion zum Öffnen von Binärdaten vor. (numpy gelesen)
def open_grd(gpv_file):
with open(gpv_file, 'rb') as ifile:
data = np.fromfile(ifile, dtype='>f', sep = '')
return data
Um die hier zurückgegebenen Daten darzustellen, werden die Daten in ein Rastersystem formatiert. Voraussetzung ist, dass die Daten unter folgenden Bedingungen gespeichert werden.
data_info = {
'nx' : 150,
'ny' : 100,
'data_path' : './your_data.grd'
}
data = open_grd(data_info['data_path']).reshape(
data_info['ny'], data_info['nx'], order='C' #! or 'F'
)
Wenn Sie dies tun, können Sie dies möglicherweise gut tun oder auch nicht, obwohl das Datenarray dasselbe ist, je nachdem, ob es sich um Verteilungsdaten handelt oder um Daten, die Sie in Fortran selbst erstellt haben. Als Lösung habe ich bestätigt, dass die Konvertierungsreihenfolge am Ende der letzten Anweisung angegeben werden sollte.
ndarray.Das Argument für die Reihenfolge der Umformkonvertierung ist standardmäßig sortiert='C'Es ist geworden.
Daher ist es notwendig, `` `order = 'F'`` `in den von Ihnen mit Fortran usw. erstellten Binärdaten zu setzen.
Ich hoffe, ich kann Menschen, die in Schwierigkeiten sind, auf die gleiche Weise helfen.
Danke, dass du bis zum Ende zugesehen hast.
## Referenz
-Wie man die Umformung verwendet, um die Form des NumPy-Arrays ndarray zu konvertieren
https://note.nkmk.me/python-numpy-reshape-usage/
Recommended Posts