merged_data = reduce(lambda left,right: pd.merge(left,right,on=['column name'],how='outer'), (pd.read_csv(data_file) for data_file in data_files)) merged_data