df = pd.DataFrame({'Name': ['John', 'Sara','Peter','Cecilia'], 'Age': [38, 47,63,28], 'City':['Boston', 'Charlotte','London','Memphis']}) datadict = df.to_dict('records')
In [20]: timeit df.T.to_dict().values() 1000 loops, best of 3: 395 µs per loop In [21]: timeit df.to_dict('records') 10000 loops, best of 3: 53 µs per loop