df = pd.DataFrame({'region1': [1, 2, 3, float('nan')], 'region2': [1.5, 2.7,
    3, float('nan')], 'region3': ['a', 'b', 'c', float('nan')]})
df.fillna('', inplace=True)
pprint.pprint(df.applymap(func).to_dict('records'))
How do I remove decimals from Pandas to_dict() output