我已经安装了mayavi在Windows 7中窥探,而当我尝试导入mlab时,我得到一个奇怪的警告:
ImportError: No module named traits.api
Run Code Online (Sandbox Code Playgroud)
有人遇到过同样的问题吗?有什么建议么?非常感谢。
虽然类似的问题已经提出了几次,但我仍然无法在Python中创建类似于matlab ismember函数的函数.特别是,我想在循环中使用这个函数,并在每次迭代中将整个矩阵与另一个矩阵的元素进行比较.在发生相同值的情况下,我想打印1,在任何其他情况下打印0.
假设我有以下矩阵
d = np.reshape(np.array([ 2.25, 1.25, 1.5 , 1. , 0. , 1.25, 1.75, 0. , 1.5 , 0. ]),(1,10))
d_unique = np.unique(d)
Run Code Online (Sandbox Code Playgroud)
然后我有
d_unique
array([ 0. , 1. , 1.25, 1.5 , 1.75, 2.25])
Run Code Online (Sandbox Code Playgroud)
现在我想迭代
J = np.zeros(np.size(d_unique))
for i in xrange(len(d_unique)):
J[i] = np.sum(ismember(d,d_unique[i]))
Run Code Online (Sandbox Code Playgroud)
以便作为输出:
J = [3,1,2,2,1,1]
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?提前谢谢了.
我有一些分散的一维数据集,我想通过使用 scipy.interpolate.Rbf 函数用 rbf 函数进行插值。然而,对于一组特定的数据,插值似乎失败了,给出了 LinAlgError:singular matrix error。xy 数据为:
x = numpy.array([169., 161., 153., 146., 139., 134., 129., 127., 123.,
121., 119., 120., 119., 121., 124., 125., 128., 133.,
137., 141., 143.]])
y = numpy.array([415., 407., 398., 390., 380., 371., 361., 352., 342.,
333., 321., 313., 304., 296., 286., 277., 268., 259.,
250., 244., 239.])
rbf = interpolate.Rbf(x, y, function='cubic',smooth=0.)
Traceback (most recent call last):
File "<ipython-input-10-ddb099423b50>", line 1, in <module>
rbf = interpolate.Rbf(x, y, function='cubic',smooth=0.)
File "C:\WinPython-32bit-2.7.5.3\python-2.7.5\lib\site-packages\scipy\interpolate\rbf.py", line 207, …Run Code Online (Sandbox Code Playgroud) 我有一个点集,我将其坐标存储在三个不同的数组(xa,ya,za)中.现在,我想用另一个点集(xb,yb,zb)的所有点来计算此点集(xa [0],ya [0],za [0]等)的每个点之间的欧氏距离. )并且每次都在新阵列中存储最小距离.
假设xa.shape =(11,),ya.shape =(11,),za.shape =(11,).分别为xb.shape =(13,),yb.shape =(13,),zb.shape =(13,).我想要做的是每次使用一个xa [],ya [],za [],并计算它与xb,yb,zb的所有元素的距离,并在最后将最小值存储到xfinal中. shape =(11,)数组.
你认为这可能与numpy有关吗?