Python 用数据框中的值填充字典键
我有一本有44名参与者的字典,然后每个参与者有16个指标。目前字典中没有值,一个参与者的id看起来是这样的- 10.7.0:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,um':(),'rt_eh_f':(),'rt_cp_m':(),'rt_cp_f':(),'rt_ph_m':(),'rt_ph_f':()} 我有一个包含参与者ID和“acc_nl_m”值的数据框(如下图所示)。我想将这些值放入字典中。 到目前为止,我已经尝试了以下方法:Python 用数据框中的值填充字典键,python,dataframe,dictionary,key-value,Python,Dataframe,Dictionary,Key Value,我有一本有44名参与者的字典,然后每个参与者有16个指标。目前字典中没有值,一个参与者的id看起来是这样的- 10.7.0:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
for participant in participantDictionary:
for row in range(len(df)):
if df.participant_private_id[row] == participant:
participantDictionary[participant]['acc_nl_m'] = df.response[row]
我的错误只是“KeyError:1”,当我打印字典时,我确实有“acc_nl_m”键的值,但它们都是零。我想我没有正确地将其与我想要的值联系起来
任何帮助都会很棒!提前谢谢。这是一个
pandas
数据帧吗
如果是这样的话,那么您的所有列也都是您希望在字典中看到的内容,并且假设participant\u private\u id
是您的数据帧上的索引,那么这实际上比您的代码简单得多。只需一行即可完成:
participantDictionary = df.to_dict(orient='index')
我注意到,根据您的屏幕截图,您的字典键实际上与列名略有不同。我给出的代码将使键成为列名,因此,如果您想要示例dict中的键,则只需在调用to_dict
之前使用以下命令重命名列:
df.rename(columns={"accuracy_nl_m": "acc_nl_m", ...}, inplace=True)