如果我的数据帧中有 100 列,并且我想创建一对列的字典,则键将始终是固定列。怎样才能做到呢?假设我们有一个这样的数据帧:k v1 v2 ... v99============================i 1 2 ... 9ii 11 22 ... 99iii 111 222 ... 999...我想要字典,...例如:dict_v1dict_v2dict_v99dict_v2{'i': 2, 'ii': 22, 'iii': 222, ...}
1 回答
www说
TA贡献1775条经验 获得超8个赞
我建议创建字典的字典,如:
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}
您需要的是可能的,但是将名称动态添加到Python命名空间是一个坏主意。
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}
添加回答
举报
0/150
提交
取消