pandas 使用panda索引创建python字典

mf98qq94  于 2023-01-28  发布在  Python
关注(0)|答案(2)|浏览(174)

我有一个 Dataframe ,其中ids是 Dataframe 的索引,列名为target。

target
ids                                                           
2453453  [-0.047055457]
3534533  [-0.244350435]
6445333  [0.1885366494]
8998292  [0.1285366494]
2323433  [0.5685366494]
...                 ...

我想创建一个字典,使用此 Dataframe 的索引作为键,使用行号作为值,如下所示

{
 2453453 : 1, 
 3534533 : 2, 
 6445333 : 3, 
 8998292 : 4, 
 2323433 : 5
}

我该怎么做呢?

owfi6suc

owfi6suc1#

一种可能的解决方案是将pandas.DataFrame.reset_indexzipdict一起使用:

d = dict(zip(df.index, df.reset_index().index+1))
#{2453453: 1, 3534533: 2, 6445333: 3, 8998292: 4, 2323433: 5}
z4iuyo4d

z4iuyo4d2#

您可以创建一个新列并对该列调用to_dict

df.assign(new=range(1, len(df)+1))['new'].to_dict()

但是创建一个以索引作为键的dict会更容易。

dict(zip(df.index, range(1, len(df)+1)))
# or
{k:v for v, k in enumerate(df.index, 1)}

无论哪种方式,输出均为

{2453453: 1, 3534533: 2, 6445333: 3, 8998292: 4, 2323433: 5}

相关问题