我有一个.csv,我从中生成了一个数据框。此csv具有来自遵循以下格式的系统的原始数据输出:

{"DataType1":"Value","DataType2":"Value","DataType3":"Value",.....}


数据帧中的每一行都有1列。我正在尝试将其分解,以便数据类型成为列标题,并且值填充行。另一方面是,并非所有行都具有相同的数据类型,有些具有其他行中可能不存在的其他数据类型。例如,第1行可能具有DataType1DataType2DataType3,而第2行可能具有DataType2DataType4DataType5。理想情况下,我希望输出使列标题包含所有数据类型,无论该行是否具有值。因此,最终的数据帧将采用以下结构:

-------------------------------------------------------------
| DataType1 | DataType2 | DataType3 | DataType4 | DataType5 |
-------------------------------------------------------------
| Value     | Value     | Value     |   NaN     |   NaN     |
-------------------------------------------------------------
|  NaN      |  Value    | NaN       | Value     |  Value    |
-------------------------------------------------------------

最佳答案

从字典转换后,数据框遵循以下格式:

dict = {'column 1':[1,2], 'column 2':[3,4], ...}


请注意,每个键中值的长度相同或

pd.DataFrame(dict)


会抛出一个错误。

要克服该错误,您可以遍历字典并通过解析来制作DataFrame。

pd.DataFrame(dict([(k,pd.Series(v)) for k,v in dict.items() ]))


*假设“ dict”是您的词典名称。

这样,您将获得所需的输出。

07-27 16:42