scipy AttributeError, кажется, не могу это исправить - PullRequest
0 голосов
/ 27 ноября 2018

Я делаю некоторую статистику с t и z, z работает нормально, но когда я запускаю с AttributeError с t, в частности: AttributeError: 'float' object has no attribute 'sf'

Вот код, который дает мне эту ошибку:

    if n >= 30: #i've tried with n being an int and float, error still
        z()
    else:
        gl = n - 1 
        t()

 t = ((xmuestral - mu) / (desv / (math.sqrt(n)))) #i've tried making this into int, error still
 p_value = t.sf(t, gl)

Конечно, xmuestral, mu, desv и n являются плавающими для получения точного результата, и gl, независимо от того, дает ли мне Float или Integer такую ​​же проблему, теперь, если я пытаюсь преобразовать все в целое число, теперь просто выбрасывается AttributeError: 'int' object has no attribute 'sf'

, честно говоря, я застрял, я не знаю, какчтобы заставить его работать

1 Ответ

0 голосов
/ 27 ноября 2018

t - это число с плавающей точкой, поэтому вы не можете вызвать t.sf.Именование имеет значение.

>>> from scipy import stats
>>> import math
>>> mu = 5
>>> desv = 0.03
>>> n = 8
>>> xmuestral = 5.1
>>> s = ((xmuestral - mu) / (desv / (math.sqrt(n))))
>>> pval = stats.t.sf(s, n-1)
>>> pval
1.5749970000865015e-05

Примечание: Кроме того, кажется, что вы также используете t как функцию.Это не может быть хорошей практикой.

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