#python #pandas #datetime #datetimeindex
#python #pandas #datetime #datetimeindex
Вопрос:
Заранее большое спасибо за помощь новичку в Python, такому как я!
У меня есть фрейм данных, содержащий ежедневные или почасовые цены на определенную криптовалюту.
Мне просто интересно, есть ли простой способ проверить, есть ли какой-либо пропущенный день или час (в зависимости от выбранной детализации), который нарушил бы совершенно постоянную временную дистанцию (между 2 датами) в индексе?
Вот пример другой проверки «должной осмотрительности», которую я выполняю. Я просто слежу за тем, чтобы соблюдался временной порядок:
# Check timestamp order:
i = 0
for i in range(0,len(df.TS)-1):
if df.TS[i] > df.TS[i 1]:
print('Timestamp does not respect time direction, please check df.')
break
else:
i = 1
Возможно, есть лучший способ сделать это, но я не нашел никакой встроенной функции для обеих этих проверок, которые я хотел бы выполнить.
Еще раз большое спасибо и с наилучшими пожеланиями,
Pierre
Ответ №1:
Если df.TS
это место, где вы храните свои данные даты и времени, то вы можете сделать это (например, для ежедневных данных, измените freq
соответствующим образом):
pd.date_range(start = df.TS.min(), end = df.TS.max(), freq = 'D').difference(df.TS)
Это вернет разницу между полным диапазоном и вашей серией дат и времени.