Код: Выделить всё
fffg = pd.DataFrame({'N': [1, 2, 3], 'MinDate': [date(2023,1,2), None, date(2022,1,7)],
'Time': [datetime.time(8, 48, 0), datetime.time(8, 48, 0), datetime.time(8, 48, 0)],
'Start_Date': [datetime.datetime(2022,4,1,15,10), datetime.datetime(2023,4,1,15,10), datetime.datetime(2022,5,1,15,10)]})
fffg['MinDate'] = pd.to_datetime(fffg['MinDate'])
fffg['New'] = np.where(pd.notnull(fffg['MinDate']),
pd.to_datetime(fffg['MinDate'].astype(str)+' '+fffg['Time'].astype(str)),
fffg['Start_Date']
)
fffg
"ValueError: данные времени "NaT 08:48:00" не соответствуют формату "%Y-%m-%d %H" :%M:%S", в позиции 1. Возможно, вы захотите попробовать:
- передать формат, если ваши строки имеют согласованный формат;
- передать format='ISO8601', если все ваши строки имеют формат ISO8601, но не обязательно в одном и том же формате;
- передается format='mixed', и формат будет определяться для каждого элемента индивидуально. Возможно, вы захотите использовать dayfirst. рядом с этим."
Похоже, что фильтрация внутри np.where() игнорируется. Как можно избежать этой ошибки?
Подробнее здесь: https://stackoverflow.com/questions/788 ... new-column