我有一個資料框:
PageId OSBrowser
1005581 (11, 16)
1016529 (11, 16)
1016529 (11, 17)
1016529 (12, 14)
1016529 (12, 16)
我正在嘗試創建字典 dico:其中鍵是 OSBrowser 值,PageID 是每個鍵值的串列:
所以預期的結果應該是:
#key #values
(11, 16) 1005581, 1016529
(11, 17) 1016529
(12, 14) 1016529
(12, 16) 1016529
我嘗試使用此代碼:
dico = {}
for row in data:
tup = data['OSBrowser']
print(tup)
if tup not in dico:
dico[tup] = []
dico[tup].append(row['PageId'])
[print(f"{key} : {value}") for key, value in dico.items()]
但我收到了這個錯誤:
----> 5 if tup not in dico:
6 dico[tup] = []
7 dico[tup].append(row['PageId'])
TypeError: unhashable type: 'Series'
你能幫我修一下嗎?
謝謝
uj5u.com熱心網友回復:
您應該使用df.index遍歷資料框
d = {}
for ind in data.index:
page_id = data["PageId"][ind]
os_browser = data["OSBrowser"][ind]
if os_browser not in d:
d[os_browser] = [page_id]
else:
d[os_browser].append(page_id)
uj5u.com熱心網友回復:
假設您定義了一個系列,例如:
s = pd.Series([(11, 16),(11, 16),(11, 17),(12, 14),(12, 14)], index=[1005581,1016529,1016529,1016529,1016529])
您可以通過以下方式獲得預期的輸出:
s.to_frame().reset_index().groupby(0)["index"].unique()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/441363.html
標籤:Python python-3.x 熊猫 数据框 字典
