Что такое функция `z ()` в пакете `stats` Python? - PullRequest
0 голосов
/ 16 сентября 2018

В разделе «Использование filter () для идентификации выбросов» Функциональное программирование на Python - второе издание , автор Steven F. Lott, стр. 106, есть следующий фрагмент кода:

from stats import mean, stdev, z
dist_data = list(map(dist, trip))
μ_d = mean(dist_data)
σ_d = stdev(dist_data)
outlier = lambda leg: z(dist(leg), μ_d, σ_d) > 3
print("Outliers", list(filter(outlier, trip)))

Я погуглил, но не нашел пакета stats в Python. Некоторые важные вещи включают: статистика пакет начиная с Python 3.4 и stats.zscore функция в scipy. Но в этих пакетах нет функции z().

Я также искал в исходном коде репо этой книги, и не нашел выше фрагмента.

Где найти и установить этот пакет stats? Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2018

Ваша заявка очень интересная.Мое предположение, книга была написана в 2015 году и переиздана в 2018 году. Я предполагаю, что может быть шанс пропустить проверку файла библиотеки с последним Python.Тем не менее, я посетил https://pypi.org/project/stats и лично установил две версии stats Я не смог найти функцию z().Наконец, я попробовал pip install stats==0.1a, который не совместим с python3.x.Я вручную загрузил код и искал функцию z(), не повезло !!

stats.py - 8-летний сценарий, он не видит много обновлений.

0 голосов
/ 16 сентября 2018

Это похоже на старую функцию:

https://docs.scipy.org/doc/scipy-0.7.x/reference/generated/scipy.stats.z.html?highlight=z#scipy.stats.z

Я предполагаю, что вы можете попробовать использовать найденную вами функцию zscore.

* редактировать: я неговоря, что это будет работать точно так же ... просто имя и реализация изменились.Я думаю, вам нужно обновить ваш код, если вы хотите, чтобы он работал ... (например, удаление среднего и стандартного отклонения)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...