为熊猫中数据帧列的组合创建字典

如果我的数据帧中有 100 列,并且我想创建一对列的字典,则键将始终是固定列。怎样才能做到呢?


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


k    v1    v2    ...    v99

============================

i    1     2     ...    9

ii   11    22    ...    99

iii  111   222   ...    999

...

我想要字典,...例如:dict_v1dict_v2dict_v99dict_v2


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


GCT1015
浏览 56回答 1
1回答

www说

我建议创建字典的字典,如: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  v99k                 i      1    2    9ii    11   22   99iii  111  222  999print (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}'] =  vprint (dict_v2){'i': 2, 'ii': 22, 'iii': 222}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python