方法.as_matrix将在以后的版本中删除。使用.values代替

时间:2019-03-28 05:43:26

标签: python numpy

我正在创建一个SVM模型来支持我的机器学习模型。“将来的版本中将删除方法.as_matrix。请改用.values”。运行我的代码后错误不断出现。我该怎么办?

我尝试按照其说明将其更改为.values,但是,编译器说TypeError:'numpy.ndarray'对象不可调用

代码如下:

d = pd.read_csv('voice.csv')
d.head()
sns.lmplot('IQR','meanfun', data=d, hue='label',
           palette='Set1', fit_reg=False, scatter_kws={'s': 1})
ERROR --> IQR_meanfun = d[['IQR','meanfun']].as_matrix()
type_label = np.where(d['Type']=='Male', 0, 1)

1 个答案:

答案 0 :(得分:0)

TLDR; as_matrix()是方法,values是属性。

但是两者都返回2D数组。 as_matrix()已被弃用,因此使用它是不可能的。剩下的就是values,它的用法如下:

IQR_meanfun = d[['IQR','meanfun']].values

(您可能叫.values(),表现为TypeError。)


如果您运行的是v0.24或更高版本,则不再推荐使用.values从DataFrame中提取数组。参见the docsthis answer which goes into this in gory detail.

# Recommended method from v0.24 onwards,
# IQR_meanfun = d[['IQR','meanfun']].to_numpy(copy=True)
# Same as,
IQR_meanfun = d[['IQR','meanfun']].to_numpy()
相关问题