Python 从dataframe创建字典,其中值是索引

Python 从dataframe创建字典,其中值是索引,python,pandas,dictionary,Python,Pandas,Dictionary,我有一个熊猫数据框,如下所示: A a b c d 我正在尝试创建一个python字典,它如下所示: df_dict = {'a':0, 'b':1, 'c':2, 'd':3} #creating example dataframe with 75 000 rows import uuid df = pd.DataFrame({"col": [str(uuid.uuid4()) for _ in range(75000) ] } ) #your bi

我有一个熊猫数据框,如下所示:

A
a       
b
c
d
我正在尝试创建一个python字典,它如下所示:

df_dict = {'a':0, 'b':1, 'c':2, 'd':3}
#creating example dataframe with 75 000 rows
import uuid
df = pd.DataFrame({"col": [str(uuid.uuid4()) for _ in range(75000) ] } )  

#your bit
{ i:v for i,v in  df.reset_index().values }
我所尝试的:

df.reset_index(inplace=True)
df = {x : y for x in df['A'] for y in df['index']}

但是
df
有75k长,现在需要一段时间,甚至不确定这是否会产生我需要的结果。有没有一种简洁、快速的方法可以做到这一点?

您可以这样做:

df_dict = {'a':0, 'b':1, 'c':2, 'd':3}
#creating example dataframe with 75 000 rows
import uuid
df = pd.DataFrame({"col": [str(uuid.uuid4()) for _ in range(75000) ] } )  

#your bit
{ i:v for i,v in  df.reset_index().values }

它以秒为单位运行。

您可以将序列转换为列表并使用枚举:

lst = { x: i for i, x in enumerate(df['A'].tolist()) }

dict
zip
范围一起使用:

d = dict(zip(df['A'], range(len(df))))
print (d)
{'a': 0, 'b': 1, 'c': 2, 'd': 3}