首页 > 解决方案 > 无法从数据框中创建简单的 dict

问题描述

我有一张桌子看起来:

          0                   1
0   2760023     XXXXXXXXYYYY111
1   2760024     XXXXXXXXYYYY112
2   2760042     XXXXXXXXYYYY113
3   2760011     XXXXXXXXYYYY114
4   2760041     XXXXXXXXYYYY115
5   2760012     XXXXXXXXYYYY116
6   2760033     XXXXXXXXYYYY117

没有标题。我需要创建简单的字典:

dict = {2760023:XXXXXXXXYYYY111, 
        2760024:XXXXXXXXYYYY112... etc.}

我阅读了很多关于 SO 和 docs 的帖子,但对我来说结果是错误的......因为如果我使用 a to_dict()(不管是什么论点),正如有人在这里描述的那样:

26716616/convert-a-pandas-dataframe-to-a-dictionary

我得到了一个不简单的字典,但是:

    {0: {0: 2760023,
  1: 2760024,
  2: 2760042,
  3: 2760011,
  4: 2760041,
  5: 2760012,
  6: 2760033},
 1: {0: 'XXXXXXXXYYYY111',
  1: 'XXXXXXXXYYYY112',
  2: 'XXXXXXXXYYYY113',
  3: 'XXXXXXXXYYYY114',
  4: 'XXXXXXXXYYYY115',
  5: 'XXXXXXXXYYYY116',
  6: 'XXXXXXXXYYYY117'}}

所以它有点列在列表中?有人可以告诉我我做错了什么吗?

PS 表有一个 data.frame 类型

标签: pythonpandasdictionary

解决方案


如果您只有 2 列,您还可以执行以下操作:

dict(df.values)

{2760023: 'XXXXXXXXYYYY111',
 2760024: 'XXXXXXXXYYYY112',
 2760042: 'XXXXXXXXYYYY113',
 2760011: 'XXXXXXXXYYYY114',
 2760041: 'XXXXXXXXYYYY115',
 2760012: 'XXXXXXXXYYYY116',
 2760033: 'XXXXXXXXYYYY117'}

推荐阅读