我正在尝试将两个数据框连接在一起,如下所示:
df3 = pd.merge(df1,df2, how='inner', on='key')
其中 df1 和 df2 是具有数百万行的大型数据集。基本上我如何加入它们而不必创建第三个数据框 df3。
我只是想将一个连接到下一个,改变原来的。我没有足够的内存在我的服务器上运行这么多,所以我需要更高效的东西。
将参数方式更改为 left(本例中 left 将是 df1:
df1 = df1.merge(df2, on='key', how='left')
你可以试试这个。我不确定你的数据是什么样子,所以只是猜测。
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)