使用复合键将熊猫数据框映射到字典

麦可

我正在处理一些代码,需要将熊猫数据框映射到由复合键和一些值组成的字典中。以下是一个初始示例,key由组成,(PostalCode, Sex)(Name, Age)而则value是与匹配的sum所有salarykey我正在寻找一种优雅地进行此映射的方法。

import pandas as pd

data = [
    ["tom", 22, "ab 11", "M", 5555],
    ["Rob", 22, "ab 13", "M", 9999],
    ["nick", 33, "ab 14", "M", 3333],
    ["nick", 33, "ab 14", "M", 8888],
    ["juli", 18, "ab 15", "F", 2222],
]
people = pd.DataFrame(data, columns=["Name", "Age", "PostalCode", "Sex", "Salary"])

df = people.groupby(["PostalCode", "Sex", "Age"])["Salary"].sum().unstack(0)

d = {col: df[col].dropna().to_dict() for col in df}

print(d)

# Expected output
print(
    {
        (("ab 11", "M"), ("tom", 22)): 5555,
        (("ab 13", "M"), ("Rob", 22)): 9999,
        (("ab 14", "M"), ("nick", 33)): 12221,
        (("ab 15", "F"), ("juli", 18)): 2222,
    }
)
耶斯列尔

首先聚合sum,然后MultiIndex使用解包变量的键来更改字典理解中的值格式a,b,c,d

s = people.groupby(["PostalCode", "Sex","Name", "Age"])["Salary"].sum()
print (s)
PostalCode  Sex  Name  Age
ab 11       M    tom   22      5555
ab 13       M    Rob   22      9999
ab 14       M    nick  33     12221
ab 15       F    juli  18      2222
Name: Salary, dtype: int64

d= {((a,b), (c,d)): v for (a,b,c,d), v in s.items()}
print(d)
{(('ab 11', 'M'), ('tom', 22)): 5555, 
 (('ab 13', 'M'), ('Rob', 22)): 9999, 
 (('ab 14', 'M'), ('nick', 33)): 12221, 
 (('ab 15', 'F'), ('juli', 18)): 2222}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用熊猫将值映射到字典

来自分类Dev

熊猫-将字典键和值映射到新列

来自分类Dev

创建将字典中的2个键映射到相同值的数据框列

来自分类Dev

使用单独的数据框将多索引映射到现有的熊猫数据框列

来自分类Dev

将字典值映射到数据框列中的键值

来自分类Dev

将多个项目映射到熊猫数据框中的值

来自分类Dev

将复合外键映射到复合主键

来自分类Dev

将具有复合主键的表映射到python字典

来自分类Dev

如何将重复项映射到键,并将键映射到 Pandas 数据框中的重复项?

来自分类Dev

使用字典键之外的索引创建熊猫数据框

来自分类Dev

将功能映射到数据框列表

来自分类Dev

如何有效地将数据框中的条目映射到字典

来自分类Dev

如何将数据框列映射到列表字典?

来自分类Dev

熊猫从字典映射到DataFrame

来自分类Dev

熊猫,将一个数据框映射到另一个?

来自分类Dev

将pandas数据框映射到多个键上作为列或multiIndex

来自分类Dev

将pandas数据框映射到多个键上作为列或multiIndex

来自分类Dev

如何使用函数将数据框与字典映射?

来自分类Dev

将键映射到Python字典中的值

来自分类Dev

如何将列表映射到字典键作为值

来自分类Dev

当键很奇怪时将列表映射到字典

来自分类Dev

如何将熊猫MultiIndex数据框的值映射到其他具有不同形状的MultiIndex数据框?

来自分类Dev

使用值作为键将数据框转换为字典

来自分类Dev

将字典中具有多个值的字典字典键映射到python中的json

来自分类Dev

将字典转换为熊猫数据框

来自分类Dev

如何将字典的键转换为一栏式的熊猫数据框?

来自分类Dev

将实体映射到具有部分硬编码的复合外键的查找表

来自分类Dev

熊猫-将值从一个数据框映射到另一个

来自分类Dev

通过映射或遮罩根据字典更改熊猫数据框值

Related 相关文章

  1. 1

    使用熊猫将值映射到字典

  2. 2

    熊猫-将字典键和值映射到新列

  3. 3

    创建将字典中的2个键映射到相同值的数据框列

  4. 4

    使用单独的数据框将多索引映射到现有的熊猫数据框列

  5. 5

    将字典值映射到数据框列中的键值

  6. 6

    将多个项目映射到熊猫数据框中的值

  7. 7

    将复合外键映射到复合主键

  8. 8

    将具有复合主键的表映射到python字典

  9. 9

    如何将重复项映射到键,并将键映射到 Pandas 数据框中的重复项?

  10. 10

    使用字典键之外的索引创建熊猫数据框

  11. 11

    将功能映射到数据框列表

  12. 12

    如何有效地将数据框中的条目映射到字典

  13. 13

    如何将数据框列映射到列表字典?

  14. 14

    熊猫从字典映射到DataFrame

  15. 15

    熊猫,将一个数据框映射到另一个?

  16. 16

    将pandas数据框映射到多个键上作为列或multiIndex

  17. 17

    将pandas数据框映射到多个键上作为列或multiIndex

  18. 18

    如何使用函数将数据框与字典映射?

  19. 19

    将键映射到Python字典中的值

  20. 20

    如何将列表映射到字典键作为值

  21. 21

    当键很奇怪时将列表映射到字典

  22. 22

    如何将熊猫MultiIndex数据框的值映射到其他具有不同形状的MultiIndex数据框?

  23. 23

    使用值作为键将数据框转换为字典

  24. 24

    将字典中具有多个值的字典字典键映射到python中的json

  25. 25

    将字典转换为熊猫数据框

  26. 26

    如何将字典的键转换为一栏式的熊猫数据框?

  27. 27

    将实体映射到具有部分硬编码的复合外键的查找表

  28. 28

    熊猫-将值从一个数据框映射到另一个

  29. 29

    通过映射或遮罩根据字典更改熊猫数据框值

热门标签

归档