我有兩個數(shù)據(jù)框 df1 和 df2。它們之間有一個共同的 ID 列。我需要根據(jù) df1 中的 ID 從 df2 列中提取數(shù)據(jù),但是我面臨 MemoryError,因?yàn)閿?shù)據(jù)幀很大,每個數(shù)據(jù)點(diǎn)超過 300 萬個。我試過使用: -aq = pd.DataFrame(np.where(df2[df2['pid1'].isin(df1['shortId'])]))但它遇到內(nèi)存錯誤。有沒有有效的方法來做到這一點(diǎn)?數(shù)據(jù)框如下所示:-df1:-ShortID x y zqwe 1 1 1asd 1 1 1zxc 1 1 1rty 1 1 1fgh 1 1 1vbn 1 1 1df2:-pid1 pid2 Col1 Col2 Col3 Col4qwe qasd values values values valuesasd uio values values values valueszxc plm values values values valuesrty okn values values values valuesfgh uhb values values values valuesvbn tgv values values values valuesqasd qwe values values values valuesuio asd values values values valuesplm zxc values values values valuesokn rty values values values valuesuhb fgh values values values valuestgv vbn values values values values結(jié)果應(yīng)如下所示:-ShortID x y z Col1 Col2 Col3 Col4qwe 1 1 1 values values values valuesasd 1 1 1 values values values valueszxc 1 1 1 values values values valuesrty 1 1 1 values values values valuesfgh 1 1 1 values values values valuesvbn 1 1 1 values values values values
內(nèi)存錯誤:- 如何使用一個公共 ID 列從一個數(shù)據(jù)幀到另一個數(shù)據(jù)幀?
慕工程0101907
2022-04-23 17:19:13