Spécifiez correcte dtypes aux pandas.read_csv pour datetimes et les booléens
Je suis le chargement d'un fichier csv dans une Pandas DataFrame. Pour chaque colonne, comment dois-je préciser quel est le type de données qu'il contient à l'aide de la dtype
argument?
- Je peux le faire avec numérique de données (code en bas)...
- Mais comment puis-je spécifier temps de données...
- et catégorique de données tels que les facteurs ou les booléens? J'ai essayé
np.bool_
etpd.tslib.Timestamp
sans chance.
Code:
import pandas as pd
import numpy as np
df = pd.read_csv(<file-name>, dtype={'A': np.int64, 'B': np.float64})
Vous devez vous connecter pour publier un commentaire.
Il y a beaucoup d'options pour les read_csv qui permettra de traiter tous les cas que vous avez mentionné. Vous voudrez peut-être essayer dtype={'A': datetime.datetime}, mais souvent vous n'aurez pas besoin dtypes comme les pandas peuvent déduire les types.
Pour les dates, vous devez spécifier le parse_date options:
En général pour la conversion des valeurs booléennes, vous devrez indiquer:
Qui permettra de transformer n'importe quelle valeur dans la liste booléenne (true/false). Pour plus d'général des conversions, vous aurez très probablement besoin de
convertisseurs : dict. en option Dict de fonctions pour la conversion des valeurs dans certaines colonnes. Les clés peuvent être des entiers ou des étiquettes de colonne
Bien que dense, consultez ici la liste complète: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.io.parsers.read_csv.html