Кадр данных Python Pandas выбирает строки с помощью тернарного оператораPython

Программы на Python
Anonymous
Кадр данных Python Pandas выбирает строки с помощью тернарного оператора

Сообщение Anonymous »

У меня есть то, что можно считать синтаксическим вопросом.
При очистке данных выяснилось, что данные содержат поля даты и времени.
Дата всегда присутствует, но иногда время отсутствует.
Вот как это :

Код: Выделить всё

    3/1/2023 11:03 AM
4/8/2022 10:21 AM
7/19/2012
7/12/2021
4/16/2024 7:02 AM
Поэтому мой простой разум подсказывает, что если полное двоеточие (:) отсутствует, то конкат 00:00.
И все готово.
Я ожидал, что это сработает:

Код: Выделить всё

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

Вернуться в «Python»