如何在不创建数据副本的情况下进行pd.merge?

时间:2018-12-11 09:37:14

标签: python pandas bigdata

我正尝试将两个数据帧如下连接:

df3 = pd.merge(df1,df2, how='inner', on='key')

其中df1和df2是具有数百万行的大型数据集。基本上,我如何加入它们而不必创建第三个数据框df3。

我只想加入下一个,改变原来的。我的内存不足,无法在服务器上运行太多,因此我需要更高效的东西。

1 个答案:

答案 0 :(得分:-1)

您可以尝试一下。我不确定您的数据是什么样子,所以只是猜测。

import pandas as pd

def merge_dataset(df1, df2):
    df1 = df1.merge(df2, how='inner', on='key')
    print(df1)
    return df1

if __name__ == '__main__':

  d1 = {'col1': [1, 2], 'key': [3, 4]}
  d2 = {'col2': [5,6], 'key': [3, 4]}
  df1 = pd.DataFrame(data=d1)
  df2 = pd.DataFrame(data=d2)
  # Debug 
  print(df1)
  print(df2)
  merge_dataset(df1, df2)