2017-05-14 66 views
0

我有一個帶5個鍵的詞典,每個鍵指的是一個列表(一個包含100行和5列的CSV文件)。列表的每一行都指向一個人的數據。我想提取每個列表中的相似行並放入新列表或數組中。所以最後我應該有100個列表/數組,以便每個列表/數組包含用戶的數據。然後我想做一些實驗,如機器學習等等。從字典中提取類似數據並放入新列表或數組

這是我的例子:

My_dict={0,1,2,3} 

0={id,var1,var2,var3 
    User1,med,high,low 
    User2,med,low,low 
    …,…,..,.., 
    User100,hih,low,med} 

1={id,var1,var2,var3 
    User1,high,med,low 
    User2,high,med,low 
    …,…,..,.., 
    User100,low,low,med} 

2={id,var1,var2,var3 
    User1,low,med,low 
    User2,med,med,low 
    …,…,..,.., 
    User100,med,low,med} 

所以我想有列表或者說,我可以體驗數組的數組列表。事情是這樣的:

User1={id,var1,var2,var3 
    User1,med,high,low 
    User1,high,med,low 
    User1,low,med,low 
} 

User2={d,var1,var2,var3 
    User2,med,high,low 
    User2,high,med,low 
    User2,low,med,low 
} 
+0

我有點新的Python和尋找一個簡單的代碼來得到這樣的結果。 –

回答

1
input_data = {"0":[["U1","med","low","high"],["U2","low","low","high"],["U3","high","low","high"]], "1": [["U1","med","low","high"],["U2","low","low","high"],["U3","high","low","high"]]} 


# Assuming that above kind of data you have then below dict will be your output 

users_dict = dict() 
for key, users in input_data.iteritems(): 
    for user in users: 
     users_dict.setdefault(user[0], []).append(user) 
+0

糾正我,如果我得到了什麼錯誤 – pramod

+0

它看起來有什麼不對,當我在執行上述代碼打印(users_dict.keys())後打印鍵時,它給了我這個結果:dict_keys(['U',' m','h','l','E','n','A','C','L']),這不是我所需要的。另一件事是這個代碼只用於一個列表。由於我的字典中有多個列表,如:My_dict = {0,1,2,3},我需要在所有列表中運行它,並將所有用戶數據提取到不同的字典中,例如U1,..,U100 。 –

+0

input_data可以擁有任意數量的按鍵,例如只添加一個鍵'0'。你現在可以嘗試,我已經在輸入數據中添加了一個鍵 – pramod

相關問題