想知道是否有人遇到类似的问题并且已经有解决方案了吗?使用Windows 7.
C:\Python27\Scripts>pip install SciPy
Collecting SciPy
Using cached scipy-0.18.0.tar.gz
Installing collected packages: SciPy
Running setup.py install for SciPy ... error
Complete output from command c:\python27\python.exe -u -c "import setuptools
, tokenize;__file__='c:\\users\\foo\\appdata\\local\\temp\\pip-build-r3jpxr\\
SciPy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().r
eplace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\foo\appda
ta\local\temp\pip-efo9to-record\install-record.txt --single-version-externally-m
anaged --compile:
Note: if you need reliable uninstall behavior, then install
with pip instead of using `setup.py install`:
- `pip install .` (from a git repo or downloaded source
release)
- `pip install scipy` (last SciPy …Run Code Online (Sandbox Code Playgroud) 我有一个包含三个灰度值的.png图像.它包含黑色(0),白色(255)和灰色(128)斑点.我想将此图像调整为较小的尺寸,同时仅保留这三个灰度值.
目前,我正在使用scipy.misc.imresize它,但我注意到,当我减小尺寸时,边缘变得模糊,现在包含超过3个灰度值.
有谁知道如何在python中做到这一点?
我想升级scipy.我使用pip install scipy --upgrade来做到这一点,但是这里有错误,我应该怎么解决这个问题?
Installing collected packages: scipy
Found existing installation: scipy 0.13.0b1
DEPRECATION: Uninstalling a distutils installed project (scipy) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling scipy-0.13.0b1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True) …Run Code Online (Sandbox Code Playgroud) 我有一个叫做数组a和另一个数组b.数组a是我存储浮点数据的主数组,b是一个包含属于的索引的数组a.
例:
a = [1.3, 1.7, 18.4, 56.2, 82.2, 18.1, 81.9, 56.9, -274.45]
b = [0, 1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)
在这个例子中b包含的指标a,从0到7.
我在Python中尝试做的是删除"重复",我的意思是删除所有b具有相似值的索引a.例如,请注意有对1.3和1.7.另外,还有一些18.4和18.1等,我想找到所有这些值,并写-1在阵列中的所有地方b,其具有的价值.
输出应如下:
b = [0, -1, 2, 3, 4, -1, -1, -1]
Run Code Online (Sandbox Code Playgroud)
我认为很明显我想要实现的目标.这里索引1被替换为-1因为a它代表1.7哪个具有"对" 1.3 …
给定一个点(x,y)我将如何创建n个随机点,它们与(x,y)的距离是高斯分布的西格玛,并且意味着作为一个参数?
我在Python中运行以下内容并期望E [1]中的列是A的特征向量,但它们不是.只有Sympy.Matrix.eigenvects()似乎做得对.为什么这个错误?
A
Out[194]:
matrix([[-3, 3, 2],
[ 1, -1, -2],
[-1, -3, 0]])
E = np.linalg.eig(A)
E
Out[196]:
(array([ 2., -4., -2.]),
matrix([[ -2.01889132e-16, 9.48683298e-01, 8.94427191e-01],
[ 5.54700196e-01, -3.16227766e-01, -3.71551690e-16],
[ -8.32050294e-01, 2.73252305e-17, 4.47213595e-01]]))
A*E[1] / E[1]
Out[205]:
matrix([[ 6.59900617, -4. , -2. ],
[ 2. , -4. , -3.88449298],
[ 2. , 8.125992 , -2. ]])
Run Code Online (Sandbox Code Playgroud) 我试图在双峰分布数据上拟合两个高斯,但大多数优化器总是根据开始猜测给出错误的结果,如下所示

我也尝试GMM从scikit-learn,这并没有太大的帮助.我想知道我可能做错了什么以及什么是更好的方法,以便我们可以测试和拟合双峰数据.使用curve_fit和数据的示例代码之一如下
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def gauss(x,mu,sigma,A):
return A*np.exp(-(x-mu)**2/2/sigma**2)
def bimodal(x,mu1,sigma1,A1,mu2,sigma2,A2):
return gauss(x,mu1,sigma1,A1)+gauss(x,mu2,sigma2,A2)
def rmse(p0):
mu1,sigma1,A1,mu2,sigma2,A2 =p0
y_sim = bimodal(x,mu1,sigma1,A1,mu2,sigma2,A2)
rms = np.sqrt((y-y_sim)**2/len(y))
data = pd.read_csv('data.csv')
x, y = data.index, data['24hr'].values
expected=(400,720,500,700,774,150)
params,cov=curve_fit(bimodal,x,y,expected, maxfev=100000)
sigma=np.sqrt(np.diag(cov))
plt.plot(x,bimodal(x,*params),color='red',lw=3,label='model')
plt.plot(x,y,label='data')
plt.legend()
print(params,'\n',sigma)
Run Code Online (Sandbox Code Playgroud) 为什么Sympy在使用时会抛出Type错误scipy.stats.norm?我怎样才能解决这个问题?
from sympy import Eq, Symbol, solve, Piecewise
from scipy.stats import norm
import numpy as np
x = Symbol('x')
eqn = Eq((x-0.2)/0.3, norm.cdf((np.log(100/110) + x**2/2)/x))
print(solve(eqn))
Run Code Online (Sandbox Code Playgroud)
输出:
TypeError: cannot determine truth value of Relational
Run Code Online (Sandbox Code Playgroud) 我试图从.matscipy的文件加载一些数据io.loadmat().该函数基本上返回一个包含文件中所有数据的字典.如果我只想从数据文件中获取一个值,我可以做类似的事情val_a = io.loadmat(filename)['val_a'].但现在我想取出2个值.我还能用一个命令实现这个目标吗?或者我是否必须首先将字典分配给变量然后逐个获取这两个值?
喜欢
raw_data = io.loadmat(filename)
val_a = raw_data['val_a']
val_b = raw_data['val_b']
Run Code Online (Sandbox Code Playgroud)
但我正在寻找的是类似的东西
val_a, val_b = io.loadmat(filename)['val_a', 'val_b']
通过这样做,我希望避免占用我记忆的文件中不必要的数据.
如numpy.linspace给出线性连接的两个点之间的等距点。我可以沿着连接一组点的直线获得等距点吗?
例如:
import numpy as np
npts = 10
xcoords, ycoords = [0,1], [0,1]
xquery = np.linspace(xcoords[0],xcoords[1], npts)
yquery = np.linspace(ycoords[0],ycoords[1], npts)
Run Code Online (Sandbox Code Playgroud)
在这里,我需要在连接一组点的线上等距查询点
xcoords, ycoords = [0,1,5,8], [0,3,6,7]
Run Code Online (Sandbox Code Playgroud) scipy ×10
python ×9
numpy ×5
matplotlib ×2
python-3.x ×2
sympy ×2
arrays ×1
dictionary ×1
gaussian ×1
image ×1
pip ×1
python-2.7 ×1
scikit-learn ×1
windows ×1
windows-7 ×1