Я пытаюсь получить scipy.stats.probplot для построения QQplot с пользовательским дистрибутивом. В основном у меня есть куча числовых переменных (все числовые массивы), и я хочу проверить различия в распределении с помощью QQplot.
Мой фрейм данных df
выглядит примерно так:
some_var another_var
1 16.5704 3.3620
2 12.8373 -8.2204
3 8.1854 1.9617
4 13.5683 1.8376
5 8.5143 2.3173
6 6.0123 -7.7536
7 9.6775 -4.3874
... ... ...
189499 11.8561 -8.4887
189500 10.0422 -4.6228
Согласно справке :
dist : str или stats.distributions, необязательно
Распределение или имя функции распределения. Значение по умолчанию - «норма» для нормального графика вероятности. Объекты, которые достаточно похожи на экземпляр stats.distributions (т. Е. У них есть метод ppf
), также принимаются.
Конечно, у массива numpy нет метода ppf
, поэтому, когда я пытаюсь сделать следующее:
import scipy.stats as stats
stats.probplot(X[X.columns[1]].values, dist=X[X.columns[2]].values, plot=pylab)
Я получаю следующую ошибку:
AttributeError: 'numpy.ndarray' object has no attribute 'ppf'
(Нет. Если я не использую метод .values
, я получу ту же ошибку, но для объекта 'Series' вместо 'numpy.ndarry')
Итак, вопрос в том, что такое объект с методом ppf
и как мне создать его из моего массива numpy?