在Pandas中解析大字符串值

2024-04-20 14:36:35 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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

Tags: csv数据标题原始数据value系统格式nan
1条回答
网友
1楼 · 发布于 2024-04-20 14:36:35

数据帧从字典转换时遵循以下格式:

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

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

pd.DataFrame(dict)

将抛出一个错误。你知道吗

为了克服错误,您可以迭代dict并通过解析它来生成数据帧。你知道吗

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

*假设“dict”是你的字典名。你知道吗

这样你就得到了想要的输出。你知道吗

相关问题 更多 >