【问题标题】:Python: Method .as_matrix will be removed in a future version. Use .values instead [duplicate]Python:方法 .as_matrix 将在未来版本中删除。改用 .values [重复]
【发布时间】:2019-02-22 05:54:12
【问题描述】:

我有以下代码

train_X, test_X, train_y, test_y = train_test_split(X.as_matrix(), y.as_matrix(), test_size=0.25)

其中X 是一个DataFrame,y 是一个系列。 调用上述函数时,我收到以下警告:

/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:1:FutureWarning:方法 .as_matrix 将在未来版本中删除。请改用 .values。

"""启动 IPython 内核的入口点。

然后我尝试使用警告中提到的.values 进行更改:

train_X, test_X, train_y, test_y = train_test_split(X.values(), y.values(), test_size=0.25)

但我收到以下错误:

TypeError Traceback(最近一次调用最后一次) 在 () ----> 1 train_X, test_X, train_y, test_y = train_test_split(X.values(), y.values(), test_size=0.25)

TypeError: 'numpy.ndarray' 对象不可调用

我该如何解决这个问题?

【问题讨论】:

  • 这应该就像从values() 中删除() 一样简单。
  • 你是对的,我的错..
  • 从 pandas 0.24 开始,使用 df.to_numpy(),而不是 .valuesas_matrix()
  • pandas.pydata.org/pandas-docs/version/0.23.1/generated/… 虽然他们建议使用.values,正如@cs95 提到的那样,.to_numpy() 对我有用

标签: python scikit-learn


【解决方案1】:

根据 Panda 0.25.1 文档,他们建议更多使用 DataFrame.to_numpy() 而不是 DataFrame.values()

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.values.html#pandas.DataFrame.values

所以我想建议像下面这样更新它:

train_X, test_X, train_y, test_y = train_test_split(X.to_numpy(), y.to_numpy(), test_size=0.25)

【讨论】:

    【解决方案2】:

    以下是有关警告背后的版本控制的一些附加信息。我希望它有所帮助。

    由于 Pandas 版本 (0.23.4) 现在与 Anaconda Python 3.7.1 一起在 SQL Server 2019 中提供,因此发生这种情况。 SQL Server 2017 附带 pandas (0.19.2),它是 Anaconda Python 3.5.2 的一部分,未出现此未来警告消息。

    pandas.DataFrame.as_matrix 自 0.23.0 版起已弃用。见PR

    Examples如何使用pandas.DataFrame.values。

    【讨论】:

      【解决方案3】:

      应该是:

      train_X, test_X, train_y, test_y = train_test_split(X.values, y.values, test_size=0.25)
      

      this

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 2016-08-03
        • 1970-01-01
        • 1970-01-01
        • 2018-11-29
        相关资源
        最近更新 更多