python - 将列表字典展平为数据框

标签 python pandas dictionary flatten

我有一个列表字典说: data = {'a': [80, 130], 'b': [64], 'c': [58,80]} 我如何将其展平并将其转换为如下所示的数据框:

enter image description here

最佳答案

扁平化字典的一个选项是

flattened_data = {
    k + str(i): x
    for k, v in data.items()
    for i, x in enumerate(v)
}

导致

{'a0': 80, 'a1': 130, 'b0': 64, 'c0': 58, 'c1': 80}

如果你坚持从 1 开始索引,你可以使用 enumerate(v, 1) 而不是 enumerate(v)。如果你想在列表只有一个条目的情况下省略索引,你应该使用 for 循环而不是字典理解。

关于python - 将列表字典展平为数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51654012/

相关文章:

python - 将数据加载到 Catboost Pool 对象中

python - 如何使用 Apache Kafka 修复 Python2.7 中的 "AssertionError: Value must be bytes"错误

python - 使用数据框更改 fasta 文件中的 seq 名称

python - 计算 pandas 列直到最后

Python - 在字典中使用 numpy 数组作为键的替代方法

python - 迭代两个字典并创建一个键不匹配的新字典

Delphi 字典和排序数据

python - 将 numpy 数组传递给 Cython

python - 未经授权写入 MongoDB

python - pandas 数据框中的文本模式识别