如何使用熊猫规范化来自excel文件的嵌套字典数据

Posted

技术标签:

【中文标题】如何使用熊猫规范化来自excel文件的嵌套字典数据【英文标题】:How to normalize nested dictionary data coming from an excel file Using pandas 【发布时间】:2021-11-13 04:07:49 【问题描述】:

我有以下 excel 数据进来,我正在尝试规范化数据嵌套字典的几个字段中的数据。

例子:

custid rules
100 'tax':'property_tax':1000,'schooltax':200, 'hoa':195, 'pmi':'49'
101 'pmi':22
102

我想看看这样的东西:

custid property_tax schooltax hoa pmi
100 1000 200 195 49
101 22
102

我正在使用 python 3.7 和 pandas 来规范化数据。 但它不工作?我们如何对上面的excel数据进行归一化?

【问题讨论】:

请编辑您的代码尝试解决这个问题。 欢迎来到 Stack Overflow。对于这样的问题,你真的应该发布一个最小的可重现示例:链接/图像是“额外的”,用 python 写你的表。更多信息here 【参考方案1】:

你应该应用这样的东西:

df['property_tax'] = df.apply(lambda x: x['rules']['tax']['property_tax'], axis=1)
df['schooltax'] = df.apply(lambda x: x['rules']['tax']['schooltax'], axis=1)
df['hoa'] = df.apply(lambda x: x['rules']['hoa'], axis=1)
df['property_tax'] = df.apply(lambda x: x['rules']['pmi'], axis=1)

编辑:如果某些行没有某些字段的值,则应使用 dict.get('x', '') 而不是 dict['x'],这会引发错误。

【讨论】:

以上是关于如何使用熊猫规范化来自excel文件的嵌套字典数据的主要内容,如果未能解决你的问题,请参考以下文章

来自熊猫数据框嵌套字典的熊猫数据框

如何使用熊猫从嵌套字典创建数据框?

如何使用嵌套字典列表展平熊猫数据框中的列

如何将嵌套字典转换为熊猫数据框?

如何在嵌套字典中按元素访问熊猫多索引?

从熊猫数据框创建嵌套字典