df = pd.DataFrame({'region': [1, 2, 3, float('nan')], 'col2': ['a', 'b',
    'c', float('nan')]})
df.fillna('', inplace=True)
pprint.pprint(df.applymap(func).to_dict('records'))
Как удалить десятичные знаки из вывода Pandas to_dict()