Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]

python est un langage très pratique pour analyser des données numériques, mais la première étape de l'analyse des données consiste à charger les données. Par conséquent, nous résumerons comment lire des données numériques dans différents formats sous la forme d'un tableau numpy.

Ci-dessous, dans tous les cas, le contenu du fichier est stocké dans 'data'.

** Lecture d'un fichier csv (texte) **

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

Lisez les données textuelles affichées comme ci-dessus une fois ouvertes dans le Bloc-notes.

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

** Explication **

--Dans les commentaires, spécifiez la chaîne de caractères qui existe à l'extrémité gauche de la ligne à ignorer. --Spécifiez le délimiteur avec le délimiteur. S'ils sont séparés par un espace, le délimiteur de description = ... n'est pas nécessaire.

** URL de référence **

** Lire le fichier NetCDF **

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

** Explication **

** URL de référence **

** Lecture des fichiers binaires Fortran **

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

Lisez le contenu de filename.out (un binaire à virgule flottante de 4 octets sans en-tête peu tolandien, communément appelé format GrADS) créé par le programme ci-dessus.

import numpy as np
N = 10  #Le nombre de données stockées par numéro d'enregistrement.
M = 20  #Nombre total d'enregistrements.
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)])

** Explication **

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

Est réécrit en une seule ligne.

--chunk [k-1] correspond aux données de l'enregistrement numéro k en fortran. Ainsi, par exemple, si vous souhaitez récupérer uniquement les données avec le numéro d'enregistrement 6, mettez la dernière ligne

   data = chunk[5]['data']

Vous pouvez le remplacer par.

** URL de référence **

Recommended Posts

Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]
Comment lire un fichier CSV avec Python 2/3
[Python] Résumé de l'utilisation des pandas
[Python2.7] Résumé de l'utilisation d'unittest
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Comment lire les données de problème avec Paiza
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Comment créer des exemples de données CSV avec hypothèse
Lire les données avec python / netCDF> nc.variables [] / Vérifier la taille des données
Résumé de la façon d'importer des fichiers dans Python 3
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
[Python] Comment lire des fichiers Excel avec des pandas
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
Résumé de l'utilisation de MNIST avec Python
Comment spécifier des attributs avec Mock of Python
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
[Introduction à Python] Comment obtenir l'index des données avec l'instruction for
Résumé des outils nécessaires pour analyser les données en Python
Comment récupérer des données d'image de Flickr avec Python
Comment générer un CSV d'en-tête multiligne avec des pandas
Comment convertir un fichier JSON en fichier CSV avec Python Pandas
[Python] Comment gérer l'erreur de lecture pandas read_html
[Python] Résumé de la façon de spécifier la couleur de la figure
Comment lire un csv contenant uniquement des entiers en Python
Résumé de la façon de partager l'état avec plusieurs fonctions
[Python] Résumé des fonctions eval / exec + Comment écrire une chaîne de caractères avec des sauts de ligne
Lire csv avec des pandas python
Écrire en csv avec Python
Lire des données json avec python
[python] Résumé de la récupération des listes et des éléments du dictionnaire
Comment activer la lecture / écriture de net.Conn avec Golang pour annuler avec le contexte
20200329_Introduction à l'analyse de données avec Python 2nd Edition Personal Summary
[Python] Résumé de l'utilisation des fonctions de fractionnement et de jointure
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
Résumé de base de la manipulation de données avec Python Pandas - Première moitié: création et manipulation de données
[Introduction à Python] Comment obtenir des données avec la fonction listdir
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
[Python] Comment FFT des données mp3
Python: comment utiliser async avec
Comment lire les données de la sous-région e-Stat
[Python] Ecrire dans un fichier csv avec Python
Résumé de l'utilisation de pandas.DataFrame.loc
Sortie vers un fichier csv avec Python
Comment gérer les données déséquilibrées
Résumé de l'utilisation de pyenv-virtualenv
Comment démarrer avec Python
Comment augmenter les données avec PyTorch
Comment calculer la date avec python
Résumé de l'utilisation de csvkit
Comment extraire des fonctionnalités de données de séries chronologiques avec les bases de PySpark
[Hugo] Résumé de la façon d'ajouter des pages au site créé avec Learn
Comment importer des fichiers CSV et TSV dans SQLite avec Python
Comment éviter la duplication des données lors de la saisie de Python vers SQLite.
J'ai essayé de résumer brièvement la procédure de démarrage du développement de Django
[Python] Comment stocker un fichier csv en tant que données de tableau à une dimension
[Python] Lire un fichier csv avec une grande taille de données à l'aide d'un générateur
[Python] Comment convertir un fichier db en csv