Кадр данных 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 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

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