I have three DataFrames that I\'m trying to concatenate.
concat_df = pd.concat([df1, df2, df3])
This results in a MemoryError. How can I re
I advice you to put your dataframes into single csv file by concatenation. Then to read your csv file.
Execute that:
# write df1 content in file.csv
df1.to_csv('file.csv', index=False)
# append df2 content to file.csv
df2.to_csv('file.csv', mode='a', columns=False, index=False)
# append df3 content to file.csv
df3.to_csv('file.csv', mode='a', columns=False, index=False)
# free memory
del df1, df2, df3
# read all df1, df2, df3 contents
df = pd.read_csv('file.csv')
If this solution isn't enougth performante, to concat larger files than usually. Do:
df1.to_csv('file.csv', index=False)
df2.to_csv('file1.csv', index=False)
df3.to_csv('file2.csv', index=False)
del df1, df2, df3
Then run bash command:
cat file1.csv >> file.csv
cat file2.csv >> file.csv
cat file3.csv >> file.csv
Or concat csv files in python :
def concat(file1, file2):
with open(file2, 'r') as filename2:
data = file2.read()
with open(file1, 'a') as filename1:
file.write(data)
concat('file.csv', 'file1.csv')
concat('file.csv', 'file2.csv')
concat('file.csv', 'file3.csv')
After read:
df = pd.read_csv('file.csv')