DeprecationWarning генерируется в Spyder для каждой используемой функции Scipy - PullRequest
0 голосов
/ 03 мая 2020

Я пишу в Spyder, и код запускается, но каждая строка , использующая sp .___, вызывает предупреждение DeprecationWarning, например, DeprecationWarning: scipy.array is deprecated and will be removed in SciPy 2.0.0, use numpy.array instead.

Почему Spyder делает это и как мне разрешить использовать scipy без появления этой ошибки? В противном случае, что я могу сделать, чтобы предотвратить появление ошибки каждый раз?

Код выглядит так:

import matplotlib.pyplot as plt,scipy as sp
import scipy.optimize as op
a=9.3779
x_in=sp.array([.095,.065,.09,.108,.125,.115,.040,.055,.055])
x=(x_in+14)
y_in=sp.array([.2,.6,.5,.4,.1,.3,-0.2,-0.4,0])
y=y_in+45
ax.plot(x_in,y_in,'ro')
plt.show()

Это вызывает ошибку:

C:\Users\Shiva Pingle\Desktop\python\others\peaks.py:38: DeprecationWarning: scipy.array is deprecated and will be removed in SciPy 2.0.0, use numpy.array instead x_in=sp.array([.095,.065,.09,.108,.125,.115,.040,.055,.055]) C:\Users\Shiva Pingle\Desktop\python\others\peaks.py:40: DeprecationWarning: scipy.array is deprecated and will be removed in SciPy 2.0.0, use numpy.array instead y_in=sp.array([.2,.6,.5,.4,.1,.3,-0.2,-0.4,0])

1 Ответ

1 голос
/ 03 мая 2020

Ваше решение в комментариях заставит вас игнорировать все предупреждения об устаревании. Это не рекомендуется.

Вместо этого можно import numpy as np и использовать np.array().

Исправленный код:

import matplotlib.pyplot as plt,scipy as sp
import scipy.optimize as op
import numpy as np    # Added import of numpy

a=9.3779

x_in=np.array([.095,.065,.09,.108,.125,.115,.040,.055,.055]) # Changed sp to np
x=(x_in+14)

y_in=np.array([.2,.6,.5,.4,.1,.3,-0.2,-0.4,0]) # Changed sp to np
y=y_in+45

plt.plot(x_in,y_in,'ro') # Also changed the ax to plt
plt.show()
...