【问题标题】:Parsing large string values in Pandas在 Pandas 中解析大字符串值
【发布时间】:2018-11-16 05:58:15
【问题描述】:

我有一个.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    |
-------------------------------------------------------------

【问题讨论】:

标签: python pandas csv dataframe


【解决方案1】:

从字典转换的数据帧遵循这种格式:

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

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

pd.DataFrame(dict)

会抛出错误。

要超越错误,您可以遍历dict并通过解析它来制作DataFrame。

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

*假设 'dict' 是您的字典名称。

这样你就会得到想要的输出。

【讨论】:

    猜你喜欢
    • 2021-08-20
    • 2020-04-01
    • 1970-01-01
    • 2011-03-06
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多