Я получаю сообщение об ошибке, когда пытаюсь сохранить dask dataframe в csv.Короче говоря, у меня есть pandas df, который состоит из 10 столбцов и 20 строк, а затем я загрузил dask df, который составляет 350 столбцов и 6+ миллионов строк (~ 6 ГБ).Мне нужно было сделать довольно простое левое соединение с пандами Д.Ф.После этого соединения я смотрю на типы данных конечного dask df, используя final.dtypes
, и он показывает 12 столбцов, как я и надеялся.Однако, когда я пытаюсь преобразовать dask df с именем final
в .csv, я получаю сообщение об ошибке, относящееся к столбцам в dask_df
, даже если их нет в финальной таблице.Что происходит и как я могу это исправить?При необходимости могу предоставить пример данных.
Сообщение об ошибке:
Usually this is due to dask's dtype inference failing, and
*may* be fixed by specifying dtypes manually by adding:
dtype={'Authorized Official Telephone Number': 'object',
'Other Provider Identifier Issuer_33': 'object',
'Other Provider Identifier Issuer_34': 'object',
'Other Provider Identifier Issuer_35': 'object',
'Other Provider Identifier Issuer_36': 'object',
'Other Provider Identifier Issuer_37': 'object',
'Other Provider Identifier Issuer_39': 'object',
'Other Provider Identifier Issuer_40': 'object',
'Other Provider Identifier Issuer_41': 'object',
'Other Provider Identifier Issuer_42': 'object',
'Other Provider Identifier Issuer_43': 'object',
'Other Provider Identifier Issuer_44': 'object',
'Other Provider Identifier Issuer_45': 'object',
'Other Provider Identifier Issuer_46': 'object',
'Other Provider Identifier Issuer_47': 'object',
'Other Provider Identifier Issuer_48': 'object',
'Other Provider Identifier Issuer_49': 'object',
'Other Provider Identifier_37': 'object',
'Other Provider Identifier_48': 'object',
'Other Provider Identifier_49': 'object',
'Provider Business Mailing Address Fax Number': 'object',
'Provider Business Practice Location Address Fax Number': 'object'}
to the call to `read_csv`/`read_table`.
Мой код:
import dask.dataframe as dd
import pandas as pd
pandas_df = dd.read_csv('small_table.csv')
dask_df = dd.read_csv('npidata_pfile_20050523-20190407.csv',low_memory=False,dtype=str)
final= dd.merge(pandas_df, dask_df[['NPI','Provider First Name']], how='left', left_on='Physician NPI',right_on='NPI')
final.to_csv('e.csv')