将dataframe中的列追加到字典python

2024-05-20 05:47:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中将dataframe(EisDat_cvs)中的两列设置为字典键和值,使用以下代码一切都可以正常工作:

dict_EisukeID_HMDB = EisDat_cvs.set_index('Unnamed: 28')['Unnamed: 26'].to_dict()

不过,现在我想在字典中附加两列作为值,一列作为键,并尝试将前一列修改为:

^{pr2}$

但是python给了我一个关键错误。。。在

编辑

我有一个数据帧EisDat_cvs,其中我考虑3列(Unnamed:28,Unnamed:26,Unnamed:1)。我想得到一个字典,它把第28列中的值作为键,第26列和第1列中的值作为字典中的值。像这样:

Unnamed: 28, Unnamed: 26, Unnamed: 1
bla.          1           90
cra           2           12
ta            3           12

我的输出应该是

dict_EisukeID_HMDB = { 'bla': '1', '90'
                       'cra': '2', '12'
                       'ta':  '3', '12'}

Tags: 代码dataframeindex字典中将dictcvsset
1条回答
网友
1楼 · 发布于 2024-05-20 05:47:19

你可以试试这个:

dict(zip(
    EisDat_cvs['Unnamed: 28'],
    zip(EisDat_cvs['Unnamed: 26'], EisDat_cvs['Unnamed: 1'])
))

您遇到的问题不是to_dict(),而是通过将列作为元组传递,试图通过hierarchal column structure来访问数据帧,如果您的数据帧没有,它将抛出一个KeyError。在


层次结构列示例:

^{pr2}$

输出:

0    10
1    30
2    50
3    70
Name: (A, A0), dtype: int64

相关问题 更多 >