Я новичок в 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
Проверьте единицы индекса Pandas DateTime с Pandera ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как аннотировать индекс Pandas значений dateTime.date с использованием Pandera и Mypy?
Anonymous » » в форуме Python - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Храните производные единицы без префикса, избегая при этом единицы в базе.
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-