我目前面臨一個問題,使我的CVS數據字典。如何將字典作爲值插入Python中使用循環的字典
我有3列,我想在文件中使用:
userID, placeID, rating
U1000, 12222, 3
U1000, 13333, 2
U1001, 13333, 4
我想作的結果是這樣的:
{'U1000': {'12222': 3, '13333': 2},
'U1001': {'13333': 4}}
也就是說, 我想使我的數據結構看起來像:
sample = {}
sample["U1000"] = {}
sample["U1001"] = {}
sample["U1000"]["12222"] = 3
sample["U1000"]["13333"] = 2
sample["U1001"]["13333"] = 4
但我有很多數據是親cessed。 我想獲得與循環的結果,但我已經嘗試過了2小時,失敗..
---以下代碼可以迷惑你---
我的結果看現在這個樣子:
{'U1000': ['12222', 3],
'U1001': ['13333', 4]}
- 該字典的值是一個列表,而一本字典
- 用戶「U1000」出現多次,但在我孤單的結果只有一次
我想我的代碼有很多錯誤..如果你不介意的話,請看看:
reader = np.array(pd.read_csv("rating_final.csv"))
included_cols = [0, 1, 2]
sample= {}
target=[]
target1 =[]
for row in reader:
content = list(row[i] for i in included_cols)
target.append(content[0])
target1.append(content[1:3])
sample = dict(zip(target, target1))
我怎麼能提高代碼? 我已經看過通過計算器,但由於個人缺乏能力, 任何人都可以請幫助我呢?
非常感謝!
這似乎是你想要的字典作爲_values_ ,而不是_keys_。也許正確的標題匹配? – ShadowRanger
謝謝你的提醒。已更正標題以及內容! –
另外,你的例子有'{'U1000':{'12222':3},{'1333':2},'U1001':{'13333':4}}',但是這是'U1000'和' U1001',但沒有與{{1333':2}'相關聯的鍵(或無值)。你可以有'{'U1000':{'12222':3,'1333':2},'U1001':{'13333':4}}'或'{'U1000':[{'12222': 3},{'1333':2}],'U1001':[{'13333':4}]}',但不是你提供的。 – ShadowRanger