Dask DataFrame преобразует неподходящий индекс файлов паркета из datetime64 в объект, почему? - PullRequest
0 голосов
/ 15 января 2020

Я прилагаю большие усилия, чтобы сохранить мои файлы паркета с индексом, используя тип datetime64 ['ns'] dtype. Но когда я затем читаю несколько файлов паркета в Dask Dataframe, он преобразует индекс в объект dtype (str). Почему?

Я не могу использовать аргумент parse_dates в моем вызове read_parquet, так как он работает только со столбцами. Я читаю в каждом отдельном файле партера значение pandas и проверяю d-тип индекса, они согласуются.

Мой код прост

    try:
        df = dd.read_parquet(data_filenames, columns=list(cols_to_retrieve),
                             engine='pyarrow')
    except Exception as ex:
        self.build_error(ex, end_date)

    df = df[list(cols_to_retrieve)]

    df = df.compute()

Какой рекомендуемый подход к исправлению Тенденции к изменению дтипов?

1 Ответ

0 голосов
/ 17 января 2020

Похоже, вы нашли ошибку. Вы должны сгенерировать небольшой код, который создает файл (ы) с типом datetime, но при загрузке они больше не тот тип, и отправьте это по адресу https://github.com/dask/dask/issues/new

т.е. нужен MCVE , чтобы мы могли отлаживать и исправлять, и превратить ваш пример в проверку будущих регрессий. Также часто выявляется что-то, что вы, возможно, делали неправильно, если на самом деле ошибки нет.

Тем не менее, вы также можете попробовать паркетный двигатель fastparquet, на случай, если это случится с вашим конкретным данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...