将字典值转换为pandas数据框

时间:2020-09-29 00:59:59

标签: python python-3.x pandas dataframe

我有一个字典想要转换成pandas数据框。问题是列和行在我的字典的值部分中。如何将dict.values转换为数据框?

例如: test = {TableName('Extract','Extract): myDesiredDf}

这是数据集:

{TableName('Extract', 'Extract'):              depot_name          market       submarket realized_date  \
 0                  <NA>          Boston          Boston    2020-09-18   
 1                  <NA>        Bay Area        Bay Area    2020-09-07   
 2                  <NA>     Minneapolis     Minneapolis    2020-08-27   
 3                  <NA>  Washington, DC  Washington, DC    2020-09-10   
 4                  <NA>        New York        New York    2020-09-07   
 ...                 ...             ...             ...           ...   
 79069  Unknown Location  Washington, DC  Washington, DC    2020-09-14   
 79070  Unknown Location  Washington, DC  Washington, DC    2020-09-15   
 79071  Unknown Location  Washington, DC  Washington, DC    2020-09-16   
 79072  Unknown Location  Washington, DC  Washington, DC    2020-09-22   
 79073  Unknown Location  Washington, DC  Washington, DC    2020-09-25   
 
                         category subcategory  actual  denom  nume  
 0                      Headcount  Clocked-In    11.0    NaN   NaN  
 1                      Headcount  Clocked-In    40.0    NaN   NaN  
 2                      Headcount  Clocked-In     8.0    NaN   NaN  
 3                      Headcount  Clocked-In    25.0    NaN   NaN  
 4                      Headcount     Unknown    85.0    NaN   NaN  
 ...                          ...         ...     ...    ...   ...  
 79069  Repairs: Unknown Location       eBike    18.0    NaN   NaN  
 79070  Repairs: Unknown Location       eBike    35.0    NaN   NaN  
 79071  Repairs: Unknown Location       eBike    14.0    NaN   NaN  
 79072  Repairs: Unknown Location       eBike     3.0    NaN   NaN  
 79073  Repairs: Unknown Location       eBike     2.0    NaN   NaN  
 
 [79074 rows x 9 columns]}

我尝试过的事情:

pd.Dataframe(test)
ValueError: If using all scalar values, you must pass an index

pd.DataFrame(test.values())
ValueError: Must pass 2-d input. shape=(1, 79074, 9)

pd.DataFrame(test,index=[0])
ValueError: Shape of passed values is (9, 1), indices imply (1, 1)

我想要的结果: 我希望test.values()/ myDesiredDf是一个熊猫数据框。

2 个答案:

答案 0 :(得分:0)

您是否尝试过pd.DataFrame.from_dict(test)?

答案 1 :(得分:0)

pd.DataFrame(list(test.values())[0])