To turn a DataFrame into a Python dictionary, use df.to_dict(). This will return a dictionary whose keys are columns.
df.to_dict()
If you prefer to get a list of dictionaries whose elements are rows, use df.to_dict(orient='records') instead.
df.to_dict(orient='records')
Link to my previous tips on pandas.