创建 pandas 数据框中列的唯一值的字典

pos*_*ist 2 python dictionary pandas

我有一个数据框:

import pandas as pd
df = pd.DataFrame({ 
'ID': ['ABC', 'ABC', 'ABC', 'XYZ', 'XYZ', 'XYZ'], 
'value': [100, 120, 130, 200, 190, 210],
'value2': [2100, 2120, 2130, 2200, 2190, 2210],   
'state': ['init','mid', 'final', 'init', 'mid', 'final'], 
})
Run Code Online (Sandbox Code Playgroud)

我想创建列“ID”的唯一值的字典。我可以通过以下方式提取唯一值:

df.ID.unique()
Run Code Online (Sandbox Code Playgroud)

但这给了我一个清单。我希望输出是一个字典,如下所示:

dict = {0:'ABC', 1: 'XYZ'}
Run Code Online (Sandbox Code Playgroud)

如果列中唯一条目的数量为 n,则键应从 0 开始,直到 n-1。这些值应该是列中唯一条目的名称

实际的数据帧有 1000 行并且经常更新。所以我无法手动维护字典。

Aks*_*gal 7

尝试这个。-

dict(enumerate(df.ID.unique()))
Run Code Online (Sandbox Code Playgroud)
{0: 'ABC', 1: 'XYZ'}
Run Code Online (Sandbox Code Playgroud)

  • 你的回答等于@anky的评论 (2认同)