как последовательно объеденить dataframe получаемых в цикле?
У меня есть Excel в которой хранится связанные значения, но на разных листах, из-за чего я создаю dataframe в цикле по именам листов, но мне необходимо получить все эти значения в одном массиве, как можно выполнить последовательное слияние всех dataframe получаемых в цикле?
код:
wb = pd.ExcelFile('D:\Excel_PZ_py\DEP.xlsx')
sheet_names = wb.sheet_names
for sheet in sheet_names:
df = pd.read_excel(wb, sheet_name=sheet)
cols = [2, 3, 4, 5, 6, 7, 8]
dfn = df.drop(df.columns[cols], axis=1)
dfn = dfn.dropna(subset=[dfn.columns[0]])
print(dfn)
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Просто накопите получающиеся датафреймы в списке, а потом разом объедините:
...
dataframes = []
for sheet in sheet_names:
...
dataframes.append(dfn)
result = pd.concat(dataframes)
Последовательное соединение может быть долгим и не рекомендуется, поэтому объединять лучше всё за один раз. Хотя в случае небольших датафреймов разницы, возможно, и не будет.