合并为1后删除以前的pandas表

时间:2016-10-21 11:04:54

标签: python-3.x pandas memory-management dataframe

我想将两个数据帧合并在一起然后删除第一个数据帧以在RAM中创建空间。

df1 = pd.read_csv(filepath, index_col='False')
df2 = pd.read_csv(filepath, index_col='False')
df3 = pd.read_csv(filepath, index_col='False')
df4 = pd.read_csv(filepath, index_col='False')


result = df1.merge(df2, on='column1', how='left', left_index='True', copy='False')

result2 = result.merge(df3, on='column1', how='left', left_index='True', copy='False')

理想情况下,我想在此之后删除所有df1,df2,df3,并保留result2数据帧。

2 个答案:

答案 0 :(得分:2)

最好不要产生不必要的DF:

file_list = glob.glob('/path/to/file_mask*.csv')

df = pd.read_csv(file_list[0], index_col='False')

for f in file_list[1:]:
    df = df.merge(pd.read_csv(f, index_col='False'), on='column1', how='left')

PS IMO你不能(至少不应该)混淆onleft_index参数。也许你的意思是right_onleft_index - 这没关系

答案 1 :(得分:1)

只需使用 del

即可
del df1, df2, df3, df4