Я пытаюсь определить функцию для получения процентиля, соответствующего числу с учетом распределения.
Вот как я определил функцию:
def minimum_percentile(sample, number):
percentiles = []
for i in range(100):
percentile = np.percentile(sample, i)
if percentile.any() >= number:
percentiles.append(percentile)
else:
continue
return min(percentiles)
Когда я вызываю функцию:
minimum_percentile(packages_means, 33.1388)
Ошибка, которую я получаю, связана с тем, что моя функция, похоже, не заполняет пустой список, получая это сообщение об ошибке:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-64-9923821f6175> in <module>
----> 1 minimum_percentile(packages_means, 33.1388)
<ipython-input-63-955dedc13fde> in minimum_percentile(sample, number)
5 if percentile.any() >= number:
6 percentiles.append(percentile)
----> 7 return min(percentiles)
ValueError: min() arg is an empty sequence
Что не так с моим кодом?
percentiles
, и причина, по которой вы этого не сделали, вероятно, заключается в том, что вашpercentile.any() >= number
не делает то, что вы думаете. - person alani   schedule 15.09.2020if percentile.any() >= number:
наif (percentile >= number).any():
- person wwii   schedule 15.09.2020