Панды, конвертирующие NULL Int64 в Float64 - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть паркет с несколькими обнуляемыми столбцами Int64. Когда я читаю таблицу паркета, преобразую ее в панду, а затем снова конвертирую в паркет, эти столбцы Int64 становятся Float64 (я предполагаю , потому что они могут обнуляться).

pq_table = self.pq.read_table('path/to/file.parquet')
df = pq_table.to_pandas()
new_pq_table = self.pa.Table.from_pandas(df)

Я не хочу приводить Int64 к Float64, поэтому я попытался указать схему-

pq_table = self.pq.read_table('path/to/file.parquet')
df = pq_table.to_pandas()
new_pq_table = self.pa.Table.from_pandas(df, schema=pq_table.schema)

В результате следующая ошибка-

ArrowInvalid ('Значение с плавающей точкой усечено', 'Преобразование не удалось для столбца messages_id с типом float64')

Я полагаю, что это происходит в to_pandas.

Как я могу сказать пандам не преобразовывать поля?

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