мой фрейм данных имеет следующую структуру:
date_today = dt.datetime.now()
size=20
df = pd.DataFrame({"usd": pd.Series(np.random.randint(1,100,size))*10,
"sent": dt.datetime.now(),
"temp":np.random.randint(0,15, size=size)
})
df.sent += df.temp.map(dt.timedelta)
df.temp = np.random.randint(10,25, size=size)
df["reminder"] = df.sent + df.temp.map(dt.timedelta)
df.temp = np.random.randint(1,65, size=size)
df["completed"] = df.reminder + df.temp.map(dt.timedelta)
df.loc[df['temp']%3 == 0, ['reminder']] = [""]
df.loc[df['temp']%2 == 0, ['completed']] = [""]
df=df[["usd", "sent", "reminder", "completed"]]
usd - деньги, которые я запрашиваю (числовые), остальные столбцы - дата-время (когда я запрашивал, когда отправлял напоминание и когда я получал деньги; последние два обнулялись).
Я также создал следующий список кварталов месяца:
date_index = []
previous_date=""
for m in range(0,14):
month = (m%12)+1
year = m//12
current_date = dt.date(2019+year, month, 1)
if previous_date:
timedelta = current_date-previous_date
date_index.append(previous_date+1*timedelta/4)
date_index.append(previous_date+2*timedelta/4)
date_index.append(previous_date+3*timedelta/4)
date_index.append(current_date)
previous_date = current_date
Я хотел бы получить фрейм данных со следующей структурой:
df_result = pd.DataFrame(columns=["date","sent_amount","reminder_amount","completed_amount"])
где столбец df_result.date - это последовательность date_index из предыдущей точки, sent_amount - сумма столбца df.amount для записей, где столбцы df.sent -