首页 >后端开发 >Python教程 >如何有效地将 Pandas DataFrame 字典列拆分为单独的列?

如何有效地将 Pandas DataFrame 字典列拆分为单独的列?

Linda Hamilton
Linda Hamilton原创
2024-12-16 21:10:14116浏览

How can I efficiently split a Pandas DataFrame column of dictionaries into separate columns?

使用 Pandas 将一列字典拆分为单独的列

在 Pandas 中处理数据帧时,经常会遇到包含字典的列价值观。将这些列拆分为单独的列可以改善数据组织和可访问性。

考虑以下 DataFrame:

Station ID     Pollutants
8809           {"a": "46", "b": "3", "c": "12"}
8810           {"a": "36", "b": "5", "c": "8"}
8811           {"b": "2", "c": "7"}
8812           {"c": "11"}
8813           {"a": "82", "c": "15"}

将“污染物”列拆分为单独的“a”、“b”,和“c”列,您可以使用Pandas版本中引入的json_normalize函数0.23.0:

import pandas as pd

df2 = pd.json_normalize(df['Pollutants'])

这种方法非常高效,并且避免了使用可能成本高昂的 apply 函数。生成的 DataFrame df2 将如下所示:

Station ID     a      b       c
8809           46     3       12
8810           36     5       8
8811           NaN    2       7
8812           NaN    NaN     11
8813           82     NaN     15

请注意,生成的 DataFrame 包含缺少字典键的空值 (NaN)。要处理这些情况,您可以使用 fillna 方法将缺失值替换为默认值或应用自定义逻辑。

以上是如何有效地将 Pandas DataFrame 字典列拆分为单独的列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn