При очистке данных выяснилось, что данные содержат поля даты и времени.
Дата всегда присутствует, но иногда время отсутствует.
Вот как это :
Код: Выделить всё
3/1/2023 11:03 AM
4/8/2022 10:21 AM
7/19/2012
7/12/2021
4/16/2024 7:02 AM
И все готово.
Я ожидал, что это сработает:
Код: Выделить всё
dfAssetMeter_a['lastReadingDTFixed'] = dfAssetMeter_a['LASTREADINGDATE'].astype(str) if dfAssetMeter_a['LASTREADINGDATE'].astype(str).find(':') > 0 else dfAssetMeter_a['LASTREADINGDATE'].astype(str) + '00:00 AM'
Это работает:
Код: Выделить всё
def fixDateTime(dateStr_in):
return dateStr_in if dateStr_in.find(':') > 0 else dateStr_in + ' 12:00 AM'
dfAssetMeter_a['lastReadingDTFixed'] = dfAssetMeter_a['LASTREADINGDATE'].apply( fixDateTime )
Какой более правильный способ «Python» сделать это?
На мой взгляд, второй способ будет легче понять в пятницу в три часа, перед праздничными выходными.
Пожалуйста, я не хочу начинать здесь королевскую битву!
Кто-нибудь будет настолько любезен, чтобы предоставить правильный синтаксис для первого метода.
Подробнее здесь: https://stackoverflow.com/questions/786 ... y-operator