Я не думаю, что это то, чего вы действительно хотите, но я пишу это просто для того, чтобы вы поняли, что это полностью отвечает требованиям вашего вопроса, и если бы вы имели в виду что-то другое, вам пришлось бы добавить образцычто вы ожидаете:
df['value_1'] = np.arange(0, 5000 / max(df['date_1'].value_counts()), 5000 / len(df) / max(df['date_1'].value_counts()))
Это даст вам в столбце value_1
возрастающего тренда, и сумма value_1
для каждого date_1
гарантированно не пройдет 5000. Кстати: иметьТенденция к увеличению предполагает, что ваши даты отсортированы, как в приведенных вами образцах данных. Если нет (или нет), выполните:
df = df.sort_values(['date_1', 'date_2']) # or ['date_2', 'date_1'] if you prefer
до создания value_1
column