Я искал в форумах и не могу решить следующую проблему. Я очень новичок в python с небольшим опытом программирования, поэтому моя проблема может быть тривиальной.Получить генератор genfromtxt для Numpy для использования функции def
Желательно преобразовать дату-время в формат даты и времени с использованием date.strptime
classmethod.
Проблема заключается в формате строки внутри столбца не соответствует (большинство из них: %Y-%m-%d $H:$M:$S.%f
); когда время падает ровно на второе, миллисекундные десятичные числа опущены (формат должен быть вместо %Y-%m-%d $H:$M:$S
). Когда strptime
встречает непризнанный формат, он просто поместит в элемент массива значение None
.
Есть ли способ, чтобы создать исключение в lambda
функции (то есть, ValueError
исключения), если нет, то как я могу передать значение строки в «нормальной» def timeConv(x)
функции от варианта genfromtxt
преобразователя?
Возможно, есть лучший способ приблизиться к этой проблеме ...?
Мой текущий код, который приводит к значению None
, когда формат %Y-%m-%d $H:$M:$S
:
timeConv = lambda x: datetime.strptime(x, '\"%Y-%m-%d $H:$M:$S.%f\"')
Time = np.genfromtxt(file, dtype='object', delimiter=',', skip_header=4, usecols=(0), converters = {0: timeConv})
fyi, 'f = lambda x, y: <делать вещи с x, y>' то же самое, что 'def f (x, y): <делать вещи с x, y>' и обе дают имя ' f' к функции '<...>' – askewchan