У меня есть набор данных, который включает одну обработку (группа A, B, C) и I l oop функция для каждой группы. Затем я хочу сохранить выходные данные этого l oop в новый набор данных, который я называю здесь NewList. Однако, когда я открываю файл Excel, я получаю только последний столбец нового фрейма данных. Если я распечатываю новый фрейм данных в python, я вижу все строки. Новый кадр данных должен иметь ay (s_1) для каждой группы в лечении (i). Я не понимаю, что я делаю неправильно, когда я сохраняю файл в excel. Заранее спасибо!
import as np
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
# old dataframe
df = {'treatment': ['A', 'A', 'A', 'B', 'B', 'B'],
..}
###### function
def derivative (t):
slope =(-fit_B*fit_n*np.exp(-fit_n*t)) - (k*fit_m*np.exp(-fit_m*t))
return slope
###### loop function in dataset based on treatment
for i, g in df.groupby('treatment'):
y = derivative(t=10)
s_1 = pd.DataFrame([y])
###### new data frame
new_row = {'treatment': i, 'y': s_1.iloc[0, 0]}
new_dataframe = pd.DataFrame(new_row, index=[0])
#I tried to set the index = i, but it did not help.
NewList = new_dataframe.append(new_row, ignore_index=True)
### why do I get only the last line of the loop in the excel file? I am respecting the loop structure
writer = ExcelWriter('filename.xlsx')
NewList.to_excel(writer, 'Sheet1', index=False)
writer.save() ```