我正在處理一項分類任務,需要將標簽串列轉換為我的模型的一個熱門輸出。為此,我試圖找到一些簡潔的單行代碼,將潛在標簽串列轉換為具有連續上升值的字典。所以一個簡單的串列,比如:['a', 'b', 'c']會變成一個字典{'a':0, 'b':1, 'c':2}。這對于 one-hot 編碼更容易。到目前為止,我已經嘗試使用字典的長度來執行此操作,但我認為在函式之前執行行內回圈,因為當我嘗試時categories = {i:len(categories) for i in labels},它會將所有值生成為 0。我可以使用更大的回圈等來做到這一點,但我覺得我錯過了一些非常明顯的技巧。提前致謝。
uj5u.com熱心網友回復:
你可以做這樣的事情
lst = ['e', 'a', 'b', 'c', 'a', 'b', 'c']
data = {k: i for i, k in enumerate(set(lst))}
print(data)
輸出
{'e': 0, 'c': 1, 'a': 2, 'b': 3}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/434458.html
上一篇:我不斷收到錯誤:TypeError:tupleindicesmustbeintegersorslices,notstr
