Pandas, как передать dtype datetime64 в запросе, не вызывая предупреждения в будущемPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pandas, как передать dtype datetime64 в запросе, не вызывая предупреждения в будущем

Сообщение Anonymous »

После последнего обновления Google Colab я получаю предупреждение о будущем при использовании метода запроса для dtype datetime64:
"Поведение 'isin' с dtype=datetime64[ns] и приводимые значения (например, строки) устарели. В будущей версии они не будут считаться совпадающими с помощью isin. Вместо этого необходимо явно привести к соответствующему типу dtype."

Код: Выделить всё

import numpy as np
import pandas as pd
df = pd.DataFrame({'some_dates' :[pd.Timestamp('2024-09-30 00:00:00'),
pd.Timestamp('2024-09-23 00:00:00')]})

Код: Выделить всё

print(df.dtypes)
---output :
some_dates    datetime64[ns]
dtype: object

Код: Выделить всё

df.query("some_dates in [('2024-09-30 00:00:00')]")
---output :
:1: FutureWarning: The behavior of 'isin' with dtype=datetime64[ns] and castable values (e.g. strings) is deprecated. In a future version, these will not be considered matching by isin. Explicitly cast to the appropriate dtype before calling isin instead.
df.query("some_dates in [('2024-09-30 00:00:00')]")

some_dates
0   2024-09-30
при использовании isin предупреждение удаляется:

Код: Выделить всё

df['some_dates'].isin([np.datetime64('2024-09-30 00:00:00')])
---output :

some_dates
0   True
1   False

dtype: bool
но мне сложно применить его к методу запроса:

Код: Выделить всё

df.query("some_dates in [np.datetime64('2024-09-30 00:00:00')]")
---output :
UndefinedVariableError: name 'np' is not defined
Изменить: только что узнал, что передача @pd.Timestamp(date) работает:

Код: Выделить всё

df.query("some_dates in [@pd.Timestamp('2024-09-30 00:00:00')]")
---output :
some_dates
0   2024-09-30
Однако @np.datetime64 этого не делает:
'''

Код: Выделить всё

df.query("some_dates in [@np.datetime64('2024-09-30 00:00:00')]")
---output :
TypeError: '>' not supported between instances of 'numpy._ArrayFunctionDispatcher' and 'int'
'''

Подробнее здесь: https://stackoverflow.com/questions/790 ... ur-warning
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»