Python Dask: невозможно преобразовать неконечные значения (NA или inf) в целое число - PullRequest
0 голосов
/ 19 февраля 2020

Я пытаюсь получить очень большую структурированную таблицу из таблицы postregres. Он имеет примерно: 200 000 000 записей. Я использую dask вместо pandas, потому что это быстрее. Когда я загружаю данные в df, это значительно быстрее, чем pandas.

Я пытаюсь преобразовать dask DataFrame в Pandas dataframe, используя compute, он продолжает давать мне ValueError NA / inf , Я передал dtype = 'object', но он не работает. Любой способ исправить это?

df = dd.read_sql_table('mytable1', 
                       index_col='mytable_id', schema='books',
                       uri='postgresql://myusername:mypassword@my-address-here12345678.us-west-1.rds.amazonaws.com:12345/BigDatabaseName')


pandas_df = df.compute(dtype='object')

Дает ошибку: ValueError: Cannot convert non-finite values (NA or inf) to integer

1 Ответ

0 голосов
/ 19 февраля 2020

Я бы предположил, что в одном из ваших столбцов есть нули, но dask выводит его как целое число. Dask просматривает выборку данных, чтобы вывести dtypes, поэтому может не получить ноль sporadi c. Перед вызовом compute вы можете проверить dtypes и преобразовать тип столбца, используя astype в object для столбца, который, по вашему мнению, может быть проблемой.

...