Проверьте единицы индекса Pandas DateTime с PanderaPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проверьте единицы индекса Pandas DateTime с Pandera

Сообщение Anonymous »

Я новичок в Pandera и все еще узнаю, как это работает. Как самый простой способ проверить, что единицы индекса DateTime индекса находятся в наносекундах, а не миллисекундах? Если попытка решения 2 - лучший способ сделать это, я буду доволен этим ответом, поскольку я ищу более опытную перспективу. Индекс не вызывает ошибку схемы. < /P>
import pandas as pd
import pandera as pa
from pandera import DataFrameModel, Field
from pandera.typing import Index
from pandera.engines import pandas_engine

class DateIndexSchema(DataFrameModel):
date: Index[pandas_engine.DateTime] = Field(nullable=False, dtype_kwargs={'unit': 'ns'})

df_wrong_index_type = pd.DataFrame(
{'value': [100, 200]},
index=pd.to_datetime(['2023-01-01', '2023-01-02']).astype('datetime64[ms]'),
)

DateIndexSchema.validate(df_wrong_index_type)
< /code>
Попытка решения 2 < /h3>
Это решение работает, как и ожидалось, но оно кажется немного условно и заставляет меня чувствовать, что мне не хватает чего-то очевидного.class DateIndexSchemaThrow(DataFrameModel):
date: Index[pandas_engine.DateTime] = Field(nullable=False)

@pa.dataframe_check
def index_should_be_in_ns(cls, dataframe: pd.DataFrame) -> bool:
if dataframe.index.dtype != "datetime64[ns]":
return False
return True


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

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

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

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

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

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

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