我想将两个数据帧合并在一起然后删除第一个数据帧以在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
数据帧。
答案 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你不能(至少不应该)混淆on
和left_index
参数。也许你的意思是right_on
和left_index
- 这没关系
答案 1 :(得分:1)
只需使用 del
即可del df1, df2, df3, df4