如何从熊猫DF中获取`field_name:field_type`的字典

时间:2018-08-23 09:45:43

标签: python pandas dataframe types

我正在尝试根据给定的Dataframe(格式:field_name:field_type)创建一个简单的字段和字段类型字典

例如,我有这个DF.dtypes:

1. name                                 object
2. On_Time                              object
3. On_Budget                            object
4. actual_hr                            float64
5. Baseline_Start_Date                  datetime64[ns]
6. Forecast_Start_Date                  datetime64[ns] 

我想运行一个将返回所需字典的函数:

{'NAME':'object', 'On_Time':'object', 'On_Budget':'object', 'actual_hr':'float64', 'Forecast_Start_Date':'datetime64[ns]', 'actual_hr':'datetime64[ns]'}

3 个答案:

答案 0 :(得分:2)

尝试使用dtypes.to_dict()用作字典:

>>> import pandas as pd
>>> df=pd.DataFrame({'a':[1,2,3],'b':['a','b','c']})
>>> {k:str(v[0]) for k,v in pd.DataFrame(df.dtypes).T.to_dict('list').items()}
{'a': 'int64', 'b': 'object'}

答案 1 :(得分:2)

先将DataFrame.dtypes转换为字符串,再依次转换为astypegit status to_dict

Series

答案 2 :(得分:1)

尝试df.to_dict('records')

根据熊猫文档,to_dict具有以下参数

  

str {'dict','list','series','split','records','index'}

确定字典值的类型。

  1. “ dict”(默认值):dict类似于{column-> {index->​​ value}}

  2. “列表”:类似{column-> [values]}

  3. 的字典
  4. “系列”:类似{column-> Series(values)}
  5. 的字典
  6. “拆分”:类似{'index'-> [index],'columns'-> [columns],'data'-> [values]}
  7. 的字典
  8. “记录”:类似于[{column-> value},…,{column-> value}]
  9. 的列表
  10. “索引”:类似{index->​​ {column-> value}}的字典