получить все строки за последнюю минуту в пандах

1

Как я могу получить все строки, добавленные в последнюю минуту в пандах. Изображение 174551 ЕСЛИ есть какое-либо значение даты в течение последней минуты, я должен получить его еще не.

Я использую приведенный ниже код, и он не дает мне никаких ошибок, но возвращает ожидаемое значение.

import datetime
created_time = datetime.datetime.now() - datetime.timedelta(minutes=1)
old_objects = data[data['Date'] > created_time]

Я получаю значения ниже Изображение 174551

но я должен получить только следующее: - Изображение 174551

  • 0
    Вы можете print(created_time) ? Что ты видишь?
  • 0
    Я получаю текущее значение времени, например эту метку времени ('2018-10-17 11: 57: 37.214967')
Показать ещё 3 комментария
Теги:
pandas
dataframe
python-3.x
datetime

3 ответа

1
Лучший ответ
created_time = datetime.datetime.utcnow() - datetime.timedelta(minutes=1)

data = data[(data['Date'] > created_time) & (data['Date'] <datetime.datetime.utcnow())]
1

Попытайтесь ограничить диапазон дат, используя:

old_objects = data[(data['Date'] > created_time) & (data['Date'] < datetime.datetime.now())]

Я переделал ваши тесты, и здесь он работал правильно.

  • 0
    это вы получаете данные за последние 60 секунд ... верно?
  • 0
    Да, как ты и просил. Также обратите внимание на часовой пояс, как уже упоминалось @jpp.
Показать ещё 1 комментарий
1

Вы должны использовать согласованные часовые пояса. И вы должны использовать объекты Pandas datetime с данными Pandas. Вы можете обеспечить согласованность, используя pd.to_datetime с tz_convert и pd.Timestamp.utcnow: -

Поэтому попробуйте следующее:

created_time = pd.Timestamp.utcnow() - pd.DateOffset(minutes=1)
data['Date'] = pd.to_datetime(data['Date']).tz_convert('UTC')
  • 0
    Большое спасибо, но я получаю ошибку, так как индекс не является действительным DatetimeIndex или PeriodIndex ... это означает, что я должен сделать столбец Date в качестве индекса
  • 0
    @ ak333, это, вероятно, означает, что у вас pd.to_datetime(data['Date'], errors='coerce').tz_convert('UTC') данные, например, попробуйте pd.to_datetime(data['Date'], errors='coerce').tz_convert('UTC')
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню