gpt4 book ai didi

python - 为 pandas 中数据框的列的组合创建字典

转载 作者:行者123 更新时间:2023-12-02 07:24:43 24 4
gpt4 key购买 nike

如果我的数据框中有 100 列,并且我想创建一对列的字典,则键将始终是固定列。怎么办?

假设我们有一个像这样的数据框:

k    v1    v2    ...    v99
============================
i 1 2 ... 9
ii 11 22 ... 99
iii 111 222 ... 999
...

我想要字典dict_v1dict_v2 ... dict_v99。例如 dict_v2 将为:

{'i': 2, 'ii': 22, 'iii': 222, ...}

最佳答案

我建议创建字典的字典,例如:

d = df.set_index('k').to_dict()
print (d)
{'v1': {'i': 1, 'ii': 11, 'iii': 111},
'v2': {'i': 2, 'ii': 22, 'iii': 222},
'v99': {'i': 9, 'ii': 99, 'iii': 999}}

然后每个字典都可以通过键选择:

print (d['v2'])
{'i': 2, 'ii': 22, 'iii': 222}

另一个想法应该是:

df1 = df.set_index('k')
print (df1)
v1 v2 v99
k
i 1 2 9
ii 11 22 99
iii 111 222 999

print (df1['v2'].to_dict())
{'i': 2, 'ii': 22, 'iii': 222}

你需要的是可能的,但是是 bad idea to add names dynamically to a Python namespace. :

for k, v in df.set_index('k').to_dict().items():
globals()[f'dict_{k}'] = v

print (dict_v2)
{'i': 2, 'ii': 22, 'iii': 222}

关于python - 为 pandas 中数据框的列的组合创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60964185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com