python - 将具有一个元素的字典列表转换为 pandas DataFrame 中的单个字典

标签 python pandas

我发现许多不同的解决方案可以针对单个案例而不是 pandas 系列这样做。 我想改变这个

    col1
0   [{'a':2, 'b':3, 'c':9}]
1   [{'a':1, 'b':0, 'c':8}]
2   [{'a':4, 'b': 5, 'c':12}]
3   [{'a':3, 'b':6, 'c':11}]

进入

    col1
0   {'a':2, 'b':3, 'c':9}
1   {'a':1, 'b':0, 'c':8}
2   {'a':4, 'b': 5, 'c':12}
3   {'a':3, 'b':6, 'c':11}

谢谢

最佳答案

如果有一个元素列表通过索引选择删除[]:

df['col'] = df['col'].str[0]

如果值是字典的字符串 repr:

import ast

df['col'] = df['col'].apply(ast.literal_eval).str[0]
print (df)
                         col
0   {'a': 2, 'b': 3, 'c': 9}
1   {'a': 1, 'b': 0, 'c': 8}
2  {'a': 4, 'b': 5, 'c': 12}
3  {'a': 3, 'b': 6, 'c': 11}

关于python - 将具有一个元素的字典列表转换为 pandas DataFrame 中的单个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73609622/

相关文章:

python - Pandas:根据值将包含分号的列分隔为多列

python-3.x - 使用其他列的元素在 pandas 中创建一个新列

python - 我想使用 matplotlib 绘制数据图表,但它显示 float() : 2014-12-10 的无效文字

python - 将 pandas 中的数字格式化为以千或百万为单位的货币

python - django 1.4 - 无法比较 offset-naive 和 offset-aware 日期时间

python - 我如何在opencv python中控制轮廓区域

字符串上的 Python re.sub 多行

python - 用 python 抓取 digg rss 提要

如果存在匹配,Python 将 dict 中的值附加到具有两个值的现有 dict 中

json - 预期对象或值 : Importing JSON into Python (Pandas)