In [1]:import pandas as pd
In [2]:import numpy as np
In [3]: df = pd.DataFrame({'colA':list('AABCA'),'colB':['X',np.nan,'Ya','Xb','Xa'],'colC':[100,50,30,5...:0,20],'colD':[90,60,60,80,50]})
In [4]: df
Out[4]:
colA colB colC colD
0 A X 100901 A NaN 50602 B Ya 30603 C Xb 50804 A Xa 2050
In [5]: df.to_dict(orient='dict')
Out[5]:{'colA':{0:'A',1:'A',2:'B',3:'C',4:'A'},'colB':{0:'X',1: nan,2:'Ya',3:'Xb',4:'Xa'},'colC':{0:100,1:50,2:30,3:50,4:20},'colD':{0:90,1:60,2:60,3:80,4:50}}
In [6]: df.to_dict(orient='list')
Out[6]:{'colA':['A','A','B','C','A'],'colB':['X', nan,'Ya','Xb','Xa'],'colC':[100,50,30,50,20],'colD':[90,60,60,80,50]
In [7]: df.to_dict(orient='series')
Out[7]:{'colA':0 A
1 A
2 B
3 C
4 A
Name: colA, dtype:object,'colB':0 X
1 NaN
2 Ya
3 Xb
4 Xa
Name: colB, dtype:object,'colC':0100150230350420
Name: colC, dtype: int64,'colD':090160260380450
Name: colD, dtype: int64}
In [8]: df.to_dict(orient='split')
Out[8]:{'columns':['colA','colB','colC','colD'],'data':[['A','X',100,90],['A', nan,50,60],['B','Ya',30,60],['C','Xb',50,80],['A','Xa',20,50]],'index':[0,1,2,3,4]}
In [9]: df.to_dict(orient='records')
Out[9]:[{'colA':'A','colB':'X','colC':100,'colD':90},{'colA':'A','colB': nan,'colC':50,'colD':60},{'colA':'B','colB':'Ya','colC':30,'colD':60},{'colA':'C','colB':'Xb','colC':50,'colD':80},{'colA':'A','colB':'Xa','colC':20,'colD':50}]
In [10]: df.to_dict(orient='index')
Out[10]:{0:{'colA':'A','colB':'X','colC':100,'colD':90},1:{'colA':'A','colB': nan,'colC':50,'colD':60},2:{'colA':'B','colB':'Ya','colC':30,'colD':60},3:{'colA':'C','colB':'Xb','colC':50,'colD':80},4:{'colA':'A','colB':'Xa','colC':20,'colD':50}}