J'ai un champ dans un pandas DataFrame qui a été importé au format chaîne. Il doit s'agir d'une variable datetime. Comment puis-je le convertir en une colonne datetime, puis filtrer en fonction de la date.
Exemple:
- Nom du DataFrame : raw_data
- Nom de la colonne: Mycol
- Format de valeur dans la colonne: '05SEP2014: 00: 00: 00.000'
format
argument n'est pas requis.to_datetime
est intelligent. Allez-y et essayez-le sans essayer de faire correspondre vos données.SettingWithCopyWarning
utilisation du @ darth-behfans stackoverflow.com/a/42773096/4487805infer_datetime_format=True
pourrait également augmenter la vitesse d'analyse jusqu'à ~ 5-10x (selon les documents de pandas) si vous n'incluez pas de chaîne de format.Vous pouvez utiliser la méthode DataFrame
.apply()
pour opérer sur les valeurs dans Mycol:la source
Si vous avez plusieurs colonnes à convertir, vous pouvez procéder comme suit:
la source
fonctionne, mais il en résulte un avertissement Python d'une valeur tente d'être définie sur une copie d'une tranche à partir d'un DataFrame. Essayez d'utiliser à la
.loc[row_indexer,col_indexer] = value
placeJe suppose que cela est dû à une indexation en chaîne.
la source
Utilisez la
to_datetime
fonction pandas pour analyser la colonne comme DateTime. De plus, en utilisantinfer_datetime_format=True
, il détectera automatiquement le format et convertira la colonne mentionnée en DateTime.la source