2016-12-11 31 views

回答

3

df.dtypes的返回對象類型是pandas.Series。它有一個to_dict方法:

df = pd.DataFrame({'A': [1, 2], 
        'B': [1., 2.], 
        'C': ['a', 'b'], 
        'D': [True, False]}) 

df 
Out: 
    A B C  D 
0 1 1.0 a True 
1 2 2.0 b False 

df.dtypes 
Out: 
A  int64 
B float64 
C  object 
D  bool 
dtype: object 

df.dtypes.to_dict() 
Out: 
{'A': dtype('int64'), 
'B': dtype('float64'), 
'C': dtype('O'), 
'D': dtype('bool')} 

字典中的值來自dtype類。如果你想要的名稱爲字符串,您可以使用適用於:

df.dtypes.apply(lambda x: x.name).to_dict() 
Out: {'A': 'int64', 'B': 'float64', 'C': 'object', 'D': 'bool'} 
+0

聽起來不錯,唯一的小項目是to_dict()刪除列的順序(初始--->阿爾法) – Tensor

+1

在Python字典是無序的。你可以使用OrderedDict,但你需要傳遞一個排序函數。 – ayhan

+0

但是,在dtype = ....中不接受命令。怎麼辦? – Tensor

相關問題