Я не уверен, правильно ли я задаю этот вопрос, но вот так:
Скажем, я хочу создать список python с 20 ненулевыми целочисленными элементами, и эти элементы должны сложиться до 87 .
Как я могу go сделать так, чтобы выбранные целые числа минимизировали стандартное отклонение списка в целом (не уверен, что это правильная метрика c).
Следующий пример кода работает, но я думаю, что должен быть лучший способ сделать это
import pandas as pd
import numpy as np
target = 87
target_length = 20
starter_series = pd.Series([1 for val in range(target_length)])
while True:
current_sum = starter_series.sum()
if current_sum==target:
break
if target - current_sum > 20:
starter_series += 1
continue
else:
to_be_added = target - current_sum
index_points = np.random.choice(starter_series.index.to_list(), to_be_added, replace=False)
starter_series.loc[index_points] += 1