如何使用熊猫规范化来自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文件的嵌套字典数据的主要内容,如果未能解决你的问题,请参考以下文章