【问题标题】:FutureWarning: Using a non-tuple sequence for multidimensional indexingFutureWarning:使用非元组序列进行多维索引
【发布时间】:2019-03-19 22:12:56
【问题描述】:

我收到一条警告

"C:\Users\el\Anaconda3\envs\Py3\lib\site-packages\scipy\io\matlab\miobase.py:414: FutureWarning:对多维使用非元组序列 索引已弃用;使用arr[tuple(seq)] 而不是arr[seq]。 将来这将被解释为数组索引, arr[np.array(seq)],这将导致错误或 结果不同。

arr[empties] = ' '".

虽然我已经使用“sio.savemat”来保存代码的输出而没有任何警告,但现在它给了我一个警告。我该如何解决?

另外,scipy = 1.1.0

import scipy.io as sio
sio.savemat(os.path.join("D:\Codes", "num.mat"), {'num': num})

【问题讨论】:

    标签: arrays python-3.x scipy save


    【解决方案1】:

    此警告由 NumPy 1.15 版或更高版本发出,并且由于 scipy 1.1.0 版中的代码而生成。它将是fixed in Scipy version 1.2.0。注意change to miobase.py

    只要您继续使用当前版本的 NumPy 和 SciPy,您就无需担心。将来,当您升级 NumPy 时(当多维索引的非元组序列的行为发生变化时),请务必将您的 SciPy 至少升级到 1.2.0 版本。

    【讨论】:

    • 感谢您的回复。是的,我在 anaconda 中搜索并没有找到它。 (Scipy 1.2.0 还没有发布!):anaconda.org/conda-forge/scipy 所以现在,无法解决。
    • 如果 FutureWarning 真的困扰您,您可以在线编辑您的 C:\Users\el\Anaconda3\envs\Py3\lib\site-packages\scipy\io\matlab\miobase.py 文件414 通过将arr[empties] = ' ' 更改为arr[tuple(empties)] = ' '。使用 sio.savemat 时,这应该会使 FutureWarning 静音。
    • 感谢您的回复。
    猜你喜欢
    • 2021-05-29
    • 2019-03-06
    • 2019-04-14
    • 2019-02-06
    • 2021-03-02
    • 2019-02-07
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    相关资源
    最近更新 更多