В настоящее время я работаю с datetime.strptime. Мой входной файл имеет формат даты в часах как [1-24]. Вот небольшой пример:
2015-05-10 21:00,1.209,1.239
2015-05-10 22:00,1.148,1.174
2015-05-10 23:00,1.093,1.117
2015-05-10 24:00,1.044,1.065
Насколько я понял из datetime.strptime работает только с форматом [0-23]. На самом деле вариант: %H как десятичное число, дополненное нулями, или %-H как десятичное число.
Я прав? в таком случае, как можно работать с моими данными?
Это мой код:
import pandas as pd
from datetime import datetime
df = pd.read_csv(fname2read,delimiter=',',header=0,parse_dates=True,\
na_values=-999)
df['datatime'] = df['datatime'].map(lambda x: datetime.strptime(str(x),\
"%Y-%m-%d %H:%M"))
Действительно, действительно спасибо, Диедро
Я не уверен, что вы спрашиваете. Можете ли вы привести пример вашего кода?
@deceze 24:00 дня 0 — это синоним 00:00 дня 1. Не часто, но и не невозможно. Это аналог 12-часовой системы, где время от полуночи начинается с 00:00 до 00:59 (а не с 0:00 до 00:59). Это ISO 8601.
@BoarGules Хорошо, но тогда это «0-24», а не «1-24».
Вы можете просто использовать метод str.replace, чтобы заменить '24:' на '00:', чтобы строка стала разборчивой с помощью strptime.
@blhsing Но проанализированная дата будет на 1 выходной.
@blhsing Нет, вы не можете, это приводит к 24-часовой ошибке.
@deceze Если в вашем времени нет минут (а у ОП нет, по крайней мере, согласно его вопросу), то нет времени с нулевым часом.
@BoarGules Неважно. Тогда лучше всего использовать strptime для анализа части даты строки в объект datetime и использовать регулярное выражение для извлечения части строки времени и создания объекта timedelta с часами, минутами и секундами, а также добавить объект timedelta в datetime объект.
@deceze В качестве альтернативы и проще замените '24:' на '00:', проверьте, есть ли '00:' в результирующей строке, и если есть, добавьте timedelta(day=1) к объекту datetime, созданному strptime.
А теперь мы все просто плюемся, основываясь на малой информации или ее полном отсутствии…






Где "1-24" "формат"...? Как вы представляете время одна минута после полуночи?