Python 将多列转换为字典

Python 将多列转换为字典,python,pandas,python-2.7,dictionary,Python,Pandas,Python 2.7,Dictionary,我有一个包含100列的pandas数据框,我想为每列创建一个字典,第一列作为键,我一直在手动执行 让我用一个示例数据框来解释 ID a b c 123琼福酒吧 789盘坝扇 278汽车自行车艇 让我们用上面的列名称ID、A、B、C来考虑上面的表。现在,我正在尝试为每个列创建字典,ID是字典的键 像下面这样 dicta={ID:a} dictb={ID:b} dictc={ID:c} 我目前正在做的是: dicta=dict(zip(df['ID'],df['a'])) dicta={k:v代表k

我有一个包含100列的pandas数据框,我想为每列创建一个字典,第一列作为键,我一直在手动执行

让我用一个示例数据框来解释

ID a b c
123琼福酒吧
789盘坝扇
278汽车自行车艇

让我们用上面的列名称ID、A、B、C来考虑上面的表。现在,我正在尝试为每个列创建字典,ID是字典的键

像下面这样

dicta={ID:a}
dictb={ID:b}
dictc={ID:c}

我目前正在做的是:

dicta=dict(zip(df['ID'],df['a'])) dicta={k:v代表k,v在dicta_u2;.items()中}

dictb=dict(zip(df['ID'],df['b'])) dictb={k:v代表k,v在dictb_.items()中}

dict=dict(zip(df['ID'],df['c'])) dictc={k:v代表k,v在dictc_.items()中}

上面的代码正在获取我想要的结果,但是我必须手动为所有100列执行此操作,这不是最有效的方法


如果我能得到一些帮助或建议,通过编写循环或函数来自动化流程,我将不胜感激。提前谢谢

设置索引
,然后使用
df.to\u dict()

然后使用以下值调用该列:

d['a']

# {123: 'jon', 278: 'car', 789: 'pan'}

d['b']

# {123: 'foo', 278: 'bike', 789: 'bam'}

这似乎是非常基本的功能。你看过Python教程了吗?()@thebjorn,如果您觉得这是一个非常基本的功能,那么如果您能为我提供解决上述问题的方法,我将不胜感激。谢谢:)
d['a']

# {123: 'jon', 278: 'car', 789: 'pan'}

d['b']

# {123: 'foo', 278: 'bike', 789: 'bam'}