[問題] DataFrame資料篩選問題
各位前輩大家好,小弟想詢問有關pandas中dataframe問題
問題描述:
有兩個table我稱它為A與B,裡面的欄位都一樣,第一欄是ID
(同一個table中ID有可能重複所以我沒有把ID設為index)
我要做一個新的table(下稱C),以A為基礎,將B表格中ID也出現在A的資料加到C中
我的解法是用for迴圈,具體程式碼如下:
http://tinyurl.com/m37co8j
問題就出在這個for,若是AB兩個table的資料都各有數十萬筆,光跑這個for迴圈
就很花時間了,更別提後續的分析
請問有沒有不用for迴圈的解法?
題外話:
小弟今天要處理的資料集有可能是接近千萬筆,請問有沒有比pandas更快的分析工具?
先謝謝各位了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.64.193
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1494858591.A.F33.html
推
05/15 23:37, , 1F
05/15 23:37, 1F
推
05/15 23:39, , 2F
05/15 23:39, 2F
我照您的方法試,多了一欄,最後的結果也跟我打的小程式不太一樣,
不知道是不是我的說明不夠清楚? 我等等來加個註解還有最後結果
還是謝謝你啦
※ 編輯: ruisme (140.113.64.193), 05/15/2017 23:55:52
※ 編輯: ruisme (140.113.64.193), 05/16/2017 00:05:57
※ 編輯: ruisme (140.113.64.193), 05/16/2017 00:06:56
推
05/16 00:49, , 3F
05/16 00:49, 3F
→
05/16 00:49, , 4F
05/16 00:49, 4F
我找到方法了
C_table = A_table.append(B_table[B_table['ID'].isin(A_table['ID'])])
這樣就解決了
※ 編輯: ruisme (140.113.100.202), 05/16/2017 09:35:47