我正在尝试使用误差范围来计算置信区间,但这给了我一个错误。以下是我编写的代码。请帮助!
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'
很可能是由于输入错误-您缺少括号
sample_mean = data_sample['installment'].mean
应该是
sample_mean = data_sample['installment'].mean()
[mean
(无括号)是一种方法,而不是浮点数,因此尝试将其添加到margin_of_error
(实际上是浮点数)时发生错误。