Здесь необходимо создать список DataFrames, а затем concat
вместе, также параметр ignore_index=True
предназначен для избежания дублирования значений индекса в конечном DataFrame
:
dfs = []
for file in FileList:
df = extract_account(file, '2016')
df = df.dropna()
dfs.append(df)
df_combined = pd.concat(dfs, ignore_index=True)
Если хотите также цикл по годам:
years = range(2016, 2020)
dfs = []
for file in FileList:
for year in years:
df = extract_account(file, str(year))
df = df.dropna()
dfs.append(df)
df_combined = pd.concat(dfs, ignore_index=True)
Решение с пониманием списка:
dfs = [extract_account(file, '2016').dropna() for file in FileList]
df_combined = pd.concat(dfs, ignore_index=True)
dfs = [extract_account(file, str(y)).dropna() for file in FileList for y in years]