Я пытаюсь создать функцию для объединения данных в децили, используя другое поле в качестве веса, чтобы у меня были равные сегменты экспозиции.При этом я создал простой пример, который я пытаюсь получить в 3 ведра.Я действительно спотыкаюсь о первой части, которая заключается в том, чтобы заставить этот цикл while работать:
df = pd.DataFrame({'A': [1,2,3,4,5,6,7,8,9,10], 'B': [5,7,9,11,15,19,25,4,3,2]})
bin_size = .333
target_sum = bin_size * df.agg({'B': 'sum'})
increment = 1
bot_try = 0
top_try = 0
c = 0
while (c < target_sum) is True:
a = df[df['A'] > bot_try]
b = a[a['A'] <= top_try]
c = b.agg({'B': 'sum'})
top_try = top_try + increment
else:
print(c)
print(top_try)
Мои результаты 0,0.
Спасибо!