我有两个数据框 df1 和 df2。它们之间有一个共同的 ID 列。我需要根据 df1 中的 ID 从 df2 列中提取数据,但是我面临 MemoryError,因为数据帧很大,每个数据点超过 300 万个。
我试过使用: -
aq = pd.DataFrame(np.where(df2[df2['pid1'].isin(df1['shortId'])]))
但它遇到内存错误。有没有有效的方法来做到这一点?
数据框如下所示:-
df1:-
ShortID x y z
qwe 1 1 1
asd 1 1 1
zxc 1 1 1
rty 1 1 1
fgh 1 1 1
vbn 1 1 1
df2:-
pid1 pid2 Col1 Col2 Col3 Col4
qwe qasd values values values values
asd uio values values values values
zxc plm values values values values
rty okn values values values values
fgh uhb values values values values
vbn tgv values values values values
qasd qwe values values values values
uio asd values values values values
plm zxc values values values values
okn rty values values values values
uhb fgh values values values values
tgv vbn values values values values
结果应如下所示:-
ShortID x y z Col1 Col2 Col3 Col4
qwe 1 1 1 values values values values
asd 1 1 1 values values values values
zxc 1 1 1 values values values values
rty 1 1 1 values values values values
fgh 1 1 1 values values values values
vbn 1 1 1 values values values values
慕工程0101907
饮歌长啸
随时随地看视频慕课网APP
相关分类