Comment changer le format datetime dans les pandas
DOB colonne valeur de l'échantillon est dans le format - 1/1/2016
qui, par défaut, est converti en objet, comme indiqué ci-dessous
DOB object
La conversion de format de date
df['DOB'] = pd.to_datetime(df['DOB'])
Date convertit à
2016-01-26
dtype
est
DOB datetime64[ns]
Maintenant je veux convertir ce format de date à 01/26/2016
ou dans tous les autres formats de date. Comment dois-je faire?
Quelle que soit la méthode que j'essaie toujours, il affiche la date dans 2016-01-26
format.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
dt.strftime
si vous avez besoin de convertirdatetime
à d'autres formats (mais alorsdtype
de la colonne seraobject
(string
)):.merge
sur une colonne datetime d'un autre dataframe? Il ne fait aucun sens pour convertir l'autre colonne datetime à un objet de la colonne pour faire le.merge
?.merge
peut encore être fait correctement si les colonnes sont datetimes colonnes, même si elles n'ont pas le même format. Est-ce exact?25/01/2018
et à d'autres dataset les dates de la colonne est au format2018-01-25
. Comment puis-je faire la.merge
des ensembles de données sur ces colonnes?YYYY-MM-DD
. Il n'est pas possible en un autre format commeDD/MM/YYYY
et n'est pas perdu datetimes. C'est un fait.YYYY-MM-DD
ouDD/MM/YYYY
ou quelque autre.YYYY-MM-DD
) ou de convertir à la fois à des chaînes, MAIS il est nécessaire également de même format dans les deux. Donc, si on estYYYY-MM-DD
et deuxièmeDD/MM/YYYY
il si il est bon chaînes, mais le format est différent, donc pas de match.pd.to_datetime
à mon code pour convertir de l'objet de la colonne de type datetime colonnes rend aussi être au même format de date par défaut (YYYY-MM-DD
) de sorte que la fusion est maintenant correctement réalisée. Merci pour votre aide @jezrael 🙂 (et toutes mes excuses pour mes quelques moments de "stupide" questions mais je ne suis pas aussi expérimenté dans les pandas comme vous êtes).Modifier le format mais pas modifier le type:
Le code ci-dessous a fonctionné pour moi à la place de la précédente - l'essayer !
Par rapport à la première réponse, je vous recommande l'utilisation de dt.strftime() d'abord, puis pd.to_datetime(). De cette façon, il sera toujours le type de données datetime.
Par exemple,
Ci-dessous les changements de code de 'datetime' type et aussi des formats dans la chaîne de format. Fonctionne bien!
df['DOB']=pd.to_datetime(df['DOB']).dt.strftime('%m/%d/%Y')
Vous pouvez essayer ce pourrez convertir le format de date JJ-MM-AAAA: