У меня есть фрейм данных:
DF
Date_1 Date_2 b_count
01/09/2019 02/08/2019 148
01/09/2019 03/08/2019 148
01/09/2019 04/08/2019 148
01/09/2019 05/08/2019 148
01/09/2019 06/08/2019 148
01/09/2019 07/08/2019 148
01/09/2019 08/08/2019 148
01/09/2019 09/08/2019 148
01/09/2019 10/08/2019 148
01/09/2019 11/08/2019 148
01/09/2019 12/08/2019 148
01/09/2019 13/08/2019 148
01/09/2019 14/08/2019 148
01/09/2019 15/08/2019 148
01/09/2019 16/08/2019 148
01/09/2019 17/08/2019 148
01/09/2019 18/08/2019 148
01/09/2019 19/08/2019 148
01/09/2019 20/08/2019 148
01/09/2019 21/08/2019 148
01/09/2019 22/08/2019 148
01/09/2019 23/08/2019 148
01/09/2019 24/08/2019 148
01/09/2019 25/08/2019 148
01/09/2019 26/08/2019 148
01/09/2019 27/08/2019 148
01/09/2019 28/08/2019 148
01/09/2019 29/08/2019 148
01/09/2019 30/08/2019 148
01/09/2019 31/08/2019 148
Я хочу создать еще один столбец в dataframe Individual_count, который должен быть создан со значением b_count, т.е. 148 таким, что 60% отсчет за последние 10 дней, остальные 40% за оставшиеся дни. например - здесь date_1 повторяется 30 раз, 148 следует разделить на 30 записей, так что 60% подсчета приходится на последние 10 дат date_2 (в нашем случае с 22/08/2019 по 31/08/2019.
До сих пор мне удавалось достигнуть возрастающей тенденции, используя:
def add_series(grp):
n_rows = grp.shape[0]
val = grp['b_count'].min()
s = np.exp(np.linspace(0,1,n_rows))
s = np.round((s * val)/ np.sum(s))
grp['individual_count'] = s
return grp
df3 = joined_df.groupby('Date_1').apply(add_series)
Это обеспечивает мне возрастающую тенденцию в распределении Individual_count, однако я также хочу назначить 60-Коэффициент 40,
Таким образом, идея состоит в том, чтобы включить коэффициент 60-40 и соответственно использовать полный счет. Может ли кто-нибудь помочь с таким же. а затем в Date_2.
Спасибо