По существу, вы переопределяете df с каждой итерацией и никогда не увеличиваете ее.Что вы, вероятно, имели в виду (опрометчиво), так это инициализировать пустой df и добавлять итеративно:
df = pd.DataFrame()
...
df = df.append(file, ignore_index=True)
Тем не менее, предпочтительным методом является создание набора фреймов данных для добавлениявсе вместе один раз вне цикла и избегайте роста любых сложных объектов, таких как фреймы данных внутри цикла.
def main():
with concurrent.futures.ProcessPoolExecutor(max_workers=30) as executor:
# LIST COMPREHENSION
df_list = [file for i,file in zip(fileList, executor.map(dp.putIndf, fileList))]
# DICTIONARY COMPREHENSION
# df_dict = {i:file for i,file in zip(fileList, executor.map(dp.putIndf, fileList))}
df = pd.concat(df_list, ignore_index=True)
return df
В качестве альтернативы из-за процесса пула добавьте фреймы данных в список, по-прежнему объединяя один развне цикла:
def main():
df_list = [] # df_dict = {}
with concurrent.futures.ProcessPoolExecutor(max_workers=30) as executor:
for i,file in zip(fileList, executor.map(dp.putIndf, fileList)):
df_list.append(file)
# df_dict[i] = file
df = pd.concat(df_list, ignore_index=True)
return df