看板 Python 關於我們 聯絡資訊
請問各位大大, 我用python 跑apriori 算法: 程式回傳關聯規則的資料結構長這樣: {(1,): ((3,), 1.0), (2,): ((5,), 1.0), (5,): ((2,), 1.0), (2, 3): ((5,), 1.0), (3, 5): ((2,), 1.0)} 意思是: 1->3 信心度:1 2->5 信心度:1 5->2 信心度:1 2,3 ->5 信心度:1 3,5->2 信心度:1 {(1,): ((3,), 1.0), (2,): ((5,), 1.0), (5,): ((2,), 1.0), (2, 3): ((5,), 1.0), (3, 5): ((2,), 1.0)} 請問有什麼方法可以讓上面字典的資料結構變成dataframe 如下: 前件 後件 信心度 1 3 1 2 5 1 5 2 1 2,3 5 1 3,5 2 1 謝謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.7.161 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1562937348.A.790.html
x264: _data = [[key[0], val[0][0], val[1]] for key, val in dat 07/13 00:24
x264: a.items()] 07/13 00:24
x264: cols = ["前件", "後件", "信心度"] 07/13 00:24
x264: df = df.DataFrame(_data, columns=cols) 07/13 00:25
x264: df = pd.DataFrame(_data, columns=cols) 07/13 00:25
x264: df=df那行打錯看下面那行,簡單來說就是用list comprehensio 07/13 00:27
x264: n取出你要的資料讓每筆資料變成一個list(到時候會變成datafr 07/13 00:27
x264: ame的一個row) 再來cols就是照你要的欄位名稱而已,最後再整 07/13 00:27
x264: 個丟到dataframe裡面就行,沒實際測過但是應該可以用 07/13 00:27
apple2: 謝謝版友回覆! 07/13 13:29