草庐IT

scipy-spatial

全部标签

python - scipy 稀疏矩阵 : remove the rows whose all elements are zero

我有一个从sklearntfidfVectorier转换而来的稀疏矩阵。我相信有些行是全零行。我想删除它们。但是,据我所知,现有的内置功能,例如nonzero()和eliminate_zero(),关注零条目,而不是行。有什么简单的方法可以从稀疏矩阵中删除全零行吗?例子:我现在拥有的(实际上是稀疏格式):[[0,0,0][1,0,2][0,0,1]]我想得到的:[[1,0,2][0,0,1]] 最佳答案 切片+getnnz()就可以了:M=M[M.getnnz(1)>0]直接在csr_array上工作。您还可以在不更改格式的情况下删

python - Scipy导数

我有一个关于Scipy的微分函数的问题。我昨晚用了它,得到了一些奇怪的答案。今天早上我再次尝试了一些简单的功能,得到了一些正确的答案和一些错误的答案。这是我的测试:In[1]:defpoly1(x):...:returnx**2In[3]:derivative(poly1,0)Out[3]:0.0In[4]:defpoly2(x):...:return(x-3)**2In[6]:derivative(poly2,3)Out[6]:0.0In[8]:defsin1(x):...:returnsin(x)In[14]:derivative(sin1,pi/2)Out[14]:5.55111

python - 解释 scipy.stats.entropy 值

我正在尝试使用scipy.stats.entropy来估计两个分布之间的Kullback–Leibler(KL)散度。更具体地说,我想使用KL作为衡量标准来确定两个分布的一致性。但是,我无法解释KL值。例如:t1=numpy.random.normal(-2.5,0.1,1000)t2=numpy.random.normal(-2.5,0.1,1000)scipy.stats.entropy(t1,t2)0.0015539217193737955然后,t1=numpy.random.normal(-2.5,0.1,1000)t2=numpy.random.normal(2.5,0.1,

python - Scipy/Numpy/scikits - 基于两个数组计算精度/召回分数

我拟合逻辑回归模型并使用以下训练数据集训练模型importscikitsassklearnfromsklearn.linear_modelimportLogisticRegressionlr=LogisticRegression(C=0.1,penalty='l1')model=lr.fit(training[:,0:-1],training[:,-1)我有一个交叉验证数据集,其中包含与输入矩阵关联的标签,可以访问为cv[:,-1]我针对经过训练的模型运行我的交叉验证数据集,该模型根据预测返回0和1的列表cv_predict=model.predict(cv[:,0:-1])问题我想根

python - 使用 scipy.integrate 将布朗运动纳入粒子轨迹积分

我想在简单的线性粒子相互作用模型之上添加热波动。到目前为止(没有布朗运动)一切都使用scipy.integrate.odeint完成并且工作完美。因此,最好找到一种方法,通过使用scipy.integrate方法之一来包含随机运动。问题如下:使用Langevin热浴,我必须按如下方式更新粒子位置(x)和速度(v):x=x+v*dtv=v+(interaction_force*dt+random_force*dt)/质量其中:random_force=sqrt(constant/dt)*random_number我认为有两个问题:步长dt出现在random_force中。但是我不知道自适

python - 如何在 python 中使用 scipy 为树状图中的部分链接着色?

我可以在Python树状图中为标签着色,但我不知道如何为属于其标签的链接部分着色。我想做这样的事情:在Python中可以吗?这里我只给标签上色:importnumpyasnpimportmatplotlib.pyplotaspltimportscipy.cluster.hierarchyasscdists=np.array([[0,2,1,4],[2,0,3,5],[1,3,0,6],[4,5,6,0]])l=['a','b','c','b']Z=sc.linkage(dists,method='complete')d=sc.dendrogram(Z,labels=l)label_co

python - 与来自 Python/SciPy 的 "quad"和 "quadrature"集成

看完this和that,我想到“quad”和“quadrature”应该可以互换*,至少在语法方面。奇怪的是,它们似乎不是:fromscipy.integrateimportquadasq#fromscipy.integrateimportquadratureasqdefmyfunc(x):returnxdefintegr():returnq(myfunc,0,1)[0]printintegr()defmyfunc2(x,y):returnx+ydefintegr2(y):returnq(myfunc2,0,1,args=(y))[0]#returnq(myfunc2,0,1,args

python - Matlab filter() 与 SciPy lfilter()

根据他们的文档Matlabfilter()和SciPylfilter(),看起来它们应该是“兼容的”。但是我有一个问题,在Python中移植更大的Matlab代码,为此我得到了ValueError:objectoftoosmalldepthfordesiredarray。由于我想不出如何在不使它复杂化的情况下展示我的源代码,我将使用Matlab文档中提供的示例:data=[1:0.2:4]';windowSize=5;filter(ones(1,windowSize)/windowSize,1,data)我用Python翻译成:importnumpyasnpfromscipy.sign

python - scipy:基本说明

我并不理解coo_matrix、csr_matrix和csc_matrix之间的区别。文档确实提到coo_matrix对于算术运算效率不高,我们需要将其转换为csr或csc。我正在研究矩阵乘法。如果我只有一个coo_matrix并将其转换为csr或csv矩阵,我不明白幕后发生了什么。另外如果我有类似的东西A=array([[1,2,3,0,0,5],[5,0,0,1,2,0]])printcoo_matrix(A)打印(0,0)1(0,1)2(0,2)3(0,5)5这很酷。但是有没有办法,我可以直接输入我的矩阵作为打印的矩阵。类似于定义一个空COO矩阵,然后开始定义coo_matrix

python - 带有元数据的 scipy kdtree

我目前正在寻找一种方法来构建几个kd树以快速查询一些n维数据。但是,我在使用scipyKD树算法时遇到了一些问题我的数据由id->{data:somedata,coordinate:x,y}组成我希望能够根据坐标和k近邻的ID进行查询,并获得修复半径近邻的ID。从KDTree和cKDtree的scipy实现来看,这个是不可用的。我的其他选择是编写我自己的KD树,这不会那么好,因为我只是我,或者......? 最佳答案 从玩弄KDTree,看起来它坚持要将一个类似于对象的2Dnumpy数组提供给它的构造函数,但是API将索引返回到该数