首页 > 解决方案 > 如何将数据框列对转换为单个字典映射?

问题描述

如何将数据框值转换为字典

D_ID    Designation  G_Code G

1       Developer       1   M
1       Developer       2   F
1       Developer       1   M
2       Testing         1   M
2       Testing         1   M
2       Testing         2   F

预计出局

d1 = {1:“开发者”,2:“测试”}

d2 = {1:“M”,2:“F”}

标签: pythonpandasdataframedictionary

解决方案


如果您事先知道哪些列需要配对,您可以创建一个 pairs dict 并非常巧妙地对其进行迭代:

pairs = {'D_ID': 'Designation', 'G_Code': 'G'}
[df.set_index(k)[v].to_dict() for k, v in pairs.items()]
# [{1: 'Developer', 2: 'Testing'}, {1: 'M', 2: 'F'}]

如果您只有两对,您可以将结果分配给“d1”和“d2”:

d1, d2 = (df.set_index(k)[v].to_dict() for k, v in pairs.items())
d1
# {1: 'Developer', 2: 'Testing'}
d2
# {1: 'M', 2: 'F'}

推荐阅读