【发布时间】:2019-07-29 20:45:37
【问题描述】:
我有一个包含 100 列的 pandas 数据框,我想为每一列创建一个字典,其中第一列作为键,我一直在手动进行。
让我用一个示例数据框解释一下
ID a b c
123 jon foo bar
789 pan bam fan
278 car bike boat
让我们考虑上表的列名ID、a、b、c。现在我正在尝试为每一列创建字典,其中 ID 是字典的键。
如下所示
dicta = {ID: a}
dictb = {ID: b}
dictc = {ID: c}
我目前在做的是:
dicta_ = dict(zip(df['ID'], df['a']))
dicta = {k:v for k,v in dicta_.items()}
dictb_ = dict(zip(df['ID'], df['b']))
dictb = {k:v for k,v in dictb_.items()}
dictc_ = dict(zip(df['ID'], df['c']))
dictc = {k:v for k,v in dictc_.items()}
上面的代码正在获取我想要的结果,但我必须手动为所有 100 列执行此操作,这不是最有效的方法。
如果我能得到一些帮助或建议,通过编写循环或函数来自动化该过程,我将不胜感激。提前致谢!
【问题讨论】:
-
这似乎是非常基本的功能。你读过 Python 教程吗? (docs.python.org/3/tutorial)
-
@thebjorn,如果您觉得这是一个非常基本的功能,如果您能为我提供解决上述问题的方法,我将不胜感激。谢谢:)
标签: python pandas python-2.7 dictionary