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

标签 python pandas dictionary

我有一个数据框:

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'], 
})

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

df.ID.unique()

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

dict = {0:'ABC', 1: 'XYZ'}

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

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

最佳答案

试试这个。 -

dict(enumerate(df.ID.unique()))
{0: 'ABC', 1: 'XYZ'}

关于python - 在 pandas 的数据框中创建列的唯一值字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66642744/

相关文章:

python - 使用 Python 查找 PDF 的标题

python - 使用 Flask 服务器和 xlsxwriter 导出 Excel

python - 在python中将字典转换为数据框

python - Python中的最大递归级别

python - 这种类型错误 :list indices must be integers or slices, not str 的解决方案是什么?

python - 不和谐用十六进制颜色创建角色(pycord)

python - 使用 pandas 将列附加到列

python - 改变 Pandas 图的颜色条

python - 使用循环将列表转换为具有多个值的字典

javascript - 如何在 JavaScript 中迭代(键、值)?