草庐IT

pagerank_numpy

全部标签

python - 平均 numpy 数组但保持形状

我有一个Numpy3轴数组,其元素是3维的。我想对它们进行平均并返回相同形状的数组。正常的平均函数删除3个维度并将其替换为平均值(如预期的那样):a=np.array([[[0.1,0.2,0.3],[0.2,0.3,0.4]],[[0.4,0.4,0.4],[0.7,0.6,0.8]]],np.float32)b=np.average(a,axis=2)#b=[[0.2,0.3],#[0.4,0.7]]要求的结果:#b=[[[0.2,0.2,0.2],[0.3,0.3,0.3]],#[[0.4,0.4,0.4],[0.7,0.7,0.7]]]你能优雅地做到这一点,还是我只需要在Pyt

python - OpenCV:在 Python 中从 NumPy 转换为 IplImage

我有一个使用cv2.imread()加载的图像。这将返回一个NumPy数组。但是,我需要将其传递给需要IplImage格式数据的第3方API。我已经尽我所能,找到了从IplImage转换为CvMat的实例,并且我找到了一些关于在C++中进行转换的引用,但没有找到在Python中从NumPy到IplImage的转换。是否提供了可以进行此转换的函数? 最佳答案 你可以这样做。source=cv2.imread()#sourceisnumpyarraybitmap=cv.CreateImageHeader((source.shape[1]

python - 如果使用生成器表达式,为什么 Numpy.all() 和 any() 会给出错误的结果?

在使用其他人的代码时,我偶然发现了这个陷阱。那么如何解释numpy的行为呢?In[1]:importnumpyasnpIn[2]:foo=[False,False]In[3]:printnp.any(x==Trueforxinfoo)True#附注我从这里得到了列表理解代码:Checkiflistcontainsonlyitemx 最佳答案 np.any和np.all不适用于生成器。他们需要序列。当给定一个非序列时,他们将其视为任何其他对象并对其调用bool(或做一些等效的事情),这将返回True:>>>false=[False]>

python - Matlab 和 Numpy 之间冲突的特征向量输出

我在Matlab和Numpy中计算特征向量,但得到不同的结果。我的印象是给定矩阵只有一组特征向量,但是这两个输出似乎都是有效的。这是我的matlab代码:m=[1.4675+0.0000i0.1669+1.2654i;0.1669-1.2654i1.3085+0.0000i][eig_vec,eig_val]=eig(m)eig_val包含:eig_val=0.1092002.6668eig_vec包含:eig_vec=0.0896+0.6789i0.0953+0.7225i-0.7288+0.0000i0.6848+0.0000i这是我的python代码:m=np.array([[1

python - numpy的泊松置信区间

我试图将泊松连续误差条放在我用matplotlib制作的直方图上,但我似乎无法找到一个numpy函数,假设泊松数据,它会给我一个95%的置信区间。理想情况下,解决方案不依赖于scipy,但任何方法都可以。有这样的功能吗?我发现了很多关于bootstrapping的内容,但对我来说这似乎有点过分了。 最佳答案 我最终基于somepropertiesIfoundonWikipedia编写了自己的函数.defpoisson_interval(k,alpha=0.05):"""useschisquaredinfotogetthepoisso

python - numpy.cov() 函数是如何实现的?

我有自己的基于等式的协方差函数的实现:'''Calculatethecovariancecoefficientbetweentwovariables.'''importnumpyasnpX=np.array([171,184,210,198,166,167])Y=np.array([78,77,98,110,80,69])#Expectedvaluefunction.defE(X,P):expectedValue=0foriinnp.arange(0,np.size(X)):expectedValue+=X[i]*(P[i]/np.size(X))returnexpectedValue

python - NumPy 读取文件并即时过滤行

我在CSV文件中写入了大量数字,只需加载该数组的一部分。从概念上讲,我想调用np.genfromtxt()然后对结果数组进行行切片,但是文件太大,内存可能放不下相关行的数量可能很少,因此无需解析每一行。MATLAB具有函数textscan(),它可以获取文件描述符并只读取文件的一部分。NumPy中有类似的东西吗?现在,我定义了以下函数,它只读取满足给定条件的行:defgenfromtxt_cond(fname,cond=(lambdastr:True)):res=[]withopen(fname)asfile:forlineinfile:ifcond(line):res.append(

Python — 如何找到下三角 ​​numpy 矩阵的方阵? (具有对称的上三角形)

我生成了一个下三角矩阵,我想使用下三角矩阵中的值来完成该矩阵以形成一个围绕对角线零点对称的方阵。lower_triangle=numpy.array([[0,0,0,0],[1,0,0,0],[2,3,0,0],[4,5,6,0]])我想生成以下完整矩阵,保持对角线为零:complete_matrix=numpy.array([[0,1,2,4],[1,0,3,5],[2,3,0,6],[4,5,6,0]])谢谢。 最佳答案 你可以简单地将它添加到它的转置中:>>>marray([[0,0,0,0],[1,0,0,0],[2,3,0

python - 如何从 2D numpy 数组中删除第一行和最后一行和最后一列?

我想知道如何从numpy中的二维数组中删除第一行和最后一行和最后一列。例如,假设我们有一个名为H的(N+1)x(N+1)矩阵,那么在MATLAB/Octave中,我将使用的代码是:Hsub=H(2:N,2:N);Numpy中的等效代码是什么?我以为np.reshape可能会做我想做的事,但我不确定如何让它只删除目标行,因为我认为如果我reshape为(N-1)x(N-1)矩阵,它'将删除最后两行和两列。 最佳答案 这个怎么样?Hsub=H[1:-1,1:-1]1:-1范围意味着我们从第二个索引或1访问元素,然后我们上升到倒数第二个索

python - 是否有一个 numpy 函数可以让你指定开始、步骤和数字?

我们都熟悉np.linspace,它创建一个给定start、stop和num元素:In[1]:importnumpyasnpIn[2]:np.linspace(0,10,9)Out[2]:array([0.,1.25,2.5,3.75,5.,6.25,7.5,8.75,10.])同样,谁能忘记np.arange,它会在给定start、stop和step:In[4]:np.arange(0,10,1.25)Out[4]:array([0.,1.25,2.5,3.75,5.,6.25,7.5,8.75])但是是否有一个函数允许您指定元素的start、step和num,同时省略停止?应该有。