首页 > 后端开发 > Python教程 > 如何有效地拆分 Pandas DataFrame 中长度不等的嵌套字典列?

如何有效地拆分 Pandas DataFrame 中长度不等的嵌套字典列?

Mary-Kate Olsen
发布: 2024-12-28 06:27:15
原创
851 人浏览过

How Can I Efficiently Split Nested Dictionary Columns in Pandas DataFrames with Unequal Lengths?

使用 json_normalize 拆分 Pandas 中的嵌套字典列

在 Python 中,使用 Pandas DataFrame 时,可能会遇到以下情况:最后一列包含嵌套字典。要将这些值提取到单独的列中,如果字典的长度不相等,您可能会面临挑战。

本文介绍了使用 json_normalize() 函数的解决方案。下面是一个示例:

import pandas as pd

# Sample DataFrame with a column of nested dictionaries
df = pd.DataFrame({
    'Station ID': ['8809', '8810', '8811', '8812', '8813'],
    'Pollutant Levels': [
        {'a': '46', 'b': '3', 'c': '12'},
        {'a': '36', 'b': '5', 'c': '8'},
        {'b': '2', 'c': '7'},
        {'c': '11'},
        {'a': '82', 'c': '15'},
    ]
})

# Extract columns using json_normalize
df2 = pd.json_normalize(df['Pollutant Levels'])

# Concatenate with original DataFrame
df = pd.concat([df, df2], axis=1)

# Drop the original 'Pollutant Levels' column
df = df.drop(columns=['Pollutant Levels'])

print(df)
登录后复制

输出:

   Station ID  a  b  c
0       8809  46  3  12
1       8810  36  5  8
2       8811  NaN  2  7
3       8812  NaN  NaN  11
4       8813  82  NaN  15
登录后复制

这种方法有效地将嵌套字典值提取到单独的列中,处理不同字典长度的问题。 json_normalize() 函数有效地将嵌套的 JSON 数据转换为表格格式,无需复杂的 apply 函数。

以上是如何有效地拆分 Pandas DataFrame 中长度不等的嵌套字典列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板