簡體   English   中英

在 pandas 中的 dataframe 中創建列的唯一值字典

[英]Create a dictionary of unique values of a column in a dataframe in pandas

我有一個 dataframe:

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()

但這給了我一個清單。 我希望 output 成為字典,如下所示:

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

如果列中的唯一條目數為 n,則鍵應從 0 和 go 開始直到 n-1。 這些值應該是列中唯一條目的名稱

實際的 dataframe 有 1000 行並且經常更新。 所以我不能手動維護字典。

嘗試這個。 -

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

如果要獲取 dict 中特定列的唯一值,請嘗試:

val_dict = {idx:value for idx , value in enumerate(df["ID"].unique())}

打印 val_dict 時Output

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM