1
votes

Conversion de la colonne dataframe des données datetime en données chaîne JJ / MM / AAAA

J'ai une colonne dataframe avec des données datetime au format 1980-12-11T00: 00: 00 .

Je dois convertir toute la colonne au format de chaîne JJ / MM / AA .

Existe-t-il un code simple pour cela?


2 commentaires

stackoverflow.com/ questions / 30132282 /… Donc quelque chose comme dates.strftime ('% d-% m-% Y')


pd.to_datetime ('1980-12-11T00: 00: 00'). strftime ('% d /% m /% Y') : '11 / 12/1980 '


3 Réponses :


0
votes

Lorsque vous utilisez pandas , essayez pandas.to_datetime:

import pandas as pd
df = pd.DataFrame({'date': ['1980-12-%sT00:00:00'%i for i in range(10,20)]})
df.date = pd.to_datetime(df.date).dt.strftime("%d/%m/%Y")
print(df)
         date
0  10/12/1980
1  11/12/1980
2  12/12/1980
3  13/12/1980
4  14/12/1980
5  15/12/1980
6  16/12/1980
7  17/12/1980
8  18/12/1980
9  19/12/1980


0 commentaires

1
votes

Création d'un exemple de travail:

df['date_new']=pd.to_datetime(df.date).dt.strftime('%d/%m/%Y')
print(df)

                  date    date_new
0  1980-12-11T00:00:00  11/12/1980
1  1990-12-11T00:00:00  11/12/1990
2  2000-12-11T00:00:00  11/12/2000

Convertissez la colonne en datetime par pd.to_datetime () et invoquez strftime ()

df = pd.DataFrame({'date':['1980-12-11T00:00:00', '1990-12-11T00:00:00', '2000-12-11T00:00:00']})
print(df)

                  date
0  1980-12-11T00:00:00
1  1990-12-11T00:00:00
2  2000-12-11T00:00:00


5 commentaires

Je reçois: OutOfBoundsDatetime: Horodatage nanoseconde hors limites: 7020-11-11 00:00:00


Non, certainement pas l'année. Le format de la date avant la conversion en chaîne est AAAA-MM-JJ00: 00: 00


exactement «7020-11-11 00: 00: 00» cette ligne est l'endroit où l'erreur se produit. :) depuis les pandas ne peuvent pas 7020 comme année


ah, c'est un problème avec les données! Existe-t-il un moyen de ne pas s'arrêter sur de telles erreurs?


@Bimons, vous pouvez vérifier ceci et d'autres liens connexes. :) stackoverflow.com/questions/32888124/...



1
votes

Vous pouvez utiliser pd.to_datetime pour convertir une chaîne en données datetime

pd.to_datetime(df['col']).dt.strftime('%d/%m/%Y')

Vous pouvez également transmettre un format spécifique comme:

pd.to_datetime(df['col'])


0 commentaires