Bonjour,
Je souhaiterais modifier des années erronées dans une colonne mais je n'y arrive pas.
Exemple de date à modifier : [215-05-01], je souhaite modifier le 215 en 2015.
La ligne suivante fonctionne mais comme j'ai beaucoup de de données j'aurai souhaiter le faire par une fonction ou une boucle mais la je n'y arrive pas. Pour info, cette colonne est considérée comme un type object et non date à cause de ces erreurs de saisie d'années.
df['Date']=df['Date'].replace({'215-12-05':'2015-12-05','215-05-11':'2015-05-11'})
J'ai tenté ceci :
1 2 3 4 5 6 7 8
| for (index,ladate) in enumerate(df['Date']):
#print(index,ladate.split('-'))
if ladate.split('-')[0]=='215':
new_date='2015-'+ladate.split('-')[1]+'-'+ladate.split('-')[2]
print (new_date)
df['New Date']=new_date
else:
df['New Date']=ladate |
Mais il me renvoi le message suivant :
1 2 3 4 5 6 7 8 9
| AttributeError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_27464\1035048496.py in <module>
2 for (index,ladate) in enumerate(df['Date']):
3 #print(index,ladate.split('-'))
----> 4 if ladate.split('-')[0]=='215':
5 new_date='2015-'+ladate.split('-')[1]+'-'+ladate.split('-')[2]
6 print (new_date)
AttributeError: 'float' object has no attribute 'split' |
Merci d'avance pour votre aide.
Partager