我想知道哪一行或哪一种方法引起了未来的警告!
predictors = weekly.columns[1:7] # the lags and volume
X = sm.add_constant(weekly[predictors]) # sm: statsmodels
y = np.array([1 if el=='Up' else 0 for el in weekly.Direction.values])
logit = sm.Logit(y,X)
results=logit.fit()
print(results.summary())C:\Anaconda3\lib\site-packages\numpy\core\fromnumeric.py:2389: FutureWarning:不推荐使用.ptp方法,并将在以后的版本中删除。使用numpy.ptp代替。返回ptp(axis=axis,out=out,**kwargs)
发布于 2019-07-21 06:13:17
weekly[predictors]将返回weekly[[predictors]] DataFrame的系列表示形式。由于警告告诉使用numpy.ptp,那么通过向weekly[predictors]添加属性values将使警告消失,即
X = sm.add_constant(weekly[predictors].values)或者您可以使用to_numpy()方法
X = sm.add_constant(weekly[predictors].to_numpy())它将将weekly[predictors]系列转换为NumPy数组。
发布于 2019-07-04 14:56:01
生成此警告的行如下:
X = sm.add_constant(weekly[predictors]) # sm: statsmodels不幸的是我也有同样的问题。
发布于 2019-12-08 08:24:28
引起警告的行是:
X = sm.add_constant(weekly[predictors]) # sm: statsmodels这是一个来自状态模型的实用工具,它将一个名为const的列添加到带有所有1的数据帧中。
由于它不再工作(使用不推荐的函数),所以可以使用不同的方法。我更喜欢熊猫内置的assign方法:
X = weekly[predictors].assign(const=1)甚至,将其命名为Intercept,因为这就是该常量的意义所在,并且与状态模型中的公式api保持一致。
X = weekly[predictors].assign(Intercept=1)https://stackoverflow.com/questions/56310898
复制相似问题