python - Pandas 数据框中的字典列

标签 python dictionary pandas

我有一个 csv,我正在读入 pandas 数据框。但是其中一列是字典的形式。这是一个例子:

ColA, ColB, ColC, ColdD
20, 30, {"ab":"1", "we":"2", "as":"3"},"String"

我怎样才能把它变成一个看起来像这样的数据框:

ColA, ColB, AB, WE, AS, ColdD
20, 30, "1", "2", "3", "String"

编辑 我修正了这个问题,它看起来像这样但是是一个需要解析的字符串,而不是字典对象。

最佳答案

根据 https://stackoverflow.com/a/38231651/454773 ,您可以使用 .apply(pd.Series) 将包含列的字典映射到新列,然后将这些新列连接回原始数据帧减去包含原始字典的列:

dw=pd.DataFrame( [[20, 30, {"ab":"1", "we":"2", "as":"3"},"String"]],
                columns=['ColA', 'ColB', 'ColC', 'ColdD'])
pd.concat([dw.drop(['ColC'], axis=1), dw['ColC'].apply(pd.Series)], axis=1)

返回:

ColA    ColB    ColdD   ab  as  we
20      30      String  1   3   2

关于python - Pandas 数据框中的字典列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325458/

相关文章:

python - 将列表元素除以列表总和并放回列表中

java - 将 dict 的 dict 转换为 json

python - 如何根据条件有效地重新排序行?

python - 根据一段时间内的平均值对面板数据框中的项目进行分类

python - 在 Azure ML Studio 中将 pandas 更新到版本 0.19

python - 使用 Python 读取 SQLite 文件

python - 基于同一列的先前值对列值进行矢量化计算?

python - 如何使用 python kubernetes api 按标签获取 pod?

要听写的元组的 Python 列表

python - 如何在Python中打印没有每三个字符的字符串?