Нахождение доверительного интервала с помощью python - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь вычислить доверительный интервал, используя предел погрешности, но он дает мне ошибку. Ниже приведен код, который я написал. Пожалуйста, помогите!

import pandas as pd
import scipy.stats as stats
import math
import numpy as np
import warnings

warnings.filterwarnings('ignore')

sample_size=2000
z_critical = stats.norm.ppf(q = 0.95)  

# path        [File location variable]
#Code starts here
data = pd.read_csv(path)
data_sample = data.sample(n=2000, random_state=0)
sample_mean = data_sample['installment'].mean
sample_std = data_sample['installment'].std()
a = sample_size ** 0.5
margin_of_error = z_critical * (sample_std/44.721)
confidence_interval = (sample_mean + margin_of_error, sample_mean - margin_of_error)

, что дает:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-3f5eda42a1b0> in <module>()
     24 # print(type(a))
     25 margin_of_error = z_critical * (sample_std/a)
---> 26 confidence_interval = (sample_mean + margin_of_error, sample_mean - margin_of_error)
     27 true_mean = data['installment'].mean
     28 print(confidence_interval)
TypeError: unsupported operand type(s) for +: 'method' and 'float'

1 Ответ

1 голос
/ 30 марта 2020

Скорее всего, это связано с опечаткой - вы пропускаете скобки в

sample_mean = data_sample['installment'].mean

это должно быть

sample_mean = data_sample['installment'].mean()

mean (без скобок) - это метод и не с плавающей точкой, поэтому ошибка при попытке добавить его к margin_of_error (что действительно является плавающей точкой).

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