草庐IT

pagerank_numpy

全部标签

python - 使用所需行列表对 numpy 数组进行切片

我有一个numpy二维数组A和一个行号列表row_set。我怎样才能得到新的数组B例如如果row_set=[0,2,5],thenB=[A_row[0],A_row[2],A_row[5]]?我想到了这样的事情:defslice_matrix(A,row_set):slice=array([rowforrowinAifrow_numinrow_set])但我不知道,我怎样才能得到row_num。 最佳答案 使用take():In[87]:m=np.random.random((6,2))In[88]:mOut[88]:array([

python - Numpy 二维和一维数组到 latex bmatrix

我正在寻找一种将numpy数组迁移到latexbmatrix的干净方法。它应该适用于二维数组以及水平和垂直的一维数组。示例A=array([[12,5,2],[20,4,8],[2,4,3],[7,1,10]])printA#2darrayprintA[0]#horizontalarrayprintA[:,0,None]#verticalarrayarray_to_bmatrix(A)array_to_bmatrix(A[0])array_to_bmatrix(A[:,0,None])输出:[[1252][2048][243][7110]][1252][[12][20][2][7]]\

python - 获取 numpy 数组中第 k 个维度的第 i 个切片

我有一个n维的numpy数组,我想获取第k的第i切片方面。一定有比这更好的了#...elifk==5:b=a[:,:,:,:,:,i,...]#... 最佳答案 b=a[(slice(None),)*k+(i,)]手动构造索引元组。如Pythonlanguagereference中所述,形式的表达a[:,:,:,:,:,i]转换为a[(slice(None),slice(None),slice(None),slice(None),slice(None),i)]我们可以通过直接构建元组而不是使用切片符号来达到相同的效果。(有一个小警告

python - 如何在 OSX 上安装 numpy 和 scipy?

我是Mac新手,所以请多多包涵。我目前使用的是雪豹10.6.4。我想安装numpy和scipy,所以我从他们的官网下载了python2.6、numpy和scipydmg文件。但是,我在导入numpy时遇到问题:Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/numpy/core/multiarray.so:nomatchingarchitectureinuniversalwrapper谁能阐明这个问题? 最佳答案 听起来好像您可

python - 如何测试numpy数组中的每个元素是否被屏蔽

如何测试numpy数组中的每个元素是否都被屏蔽了?这是我想要做的:x=#isamaksednumpyarraymasked_min=numpy.ma.min(x)ifmasked_minISNOTAMASKEDELEMENT:#dosomestuffonlyifmasked_minisavalue在实践中我看到了这个:>>>x=numpy.ma.array(numpy.array([1,2,3]),mask=[True,True,True])>>>masked_min=numpy.ma.min(x)masked测试masked没有帮助:>>>numpy.ma.sum(x)==numpy

python - 获取 numpy 数组中非零元素的数量?

是否可以在不遍历数组或屏蔽数组的情况下获取numpy数组中非零元素的长度。速度是计算长度的主要目标。本质上,类似于len(array).where(array!=0)。如果它改变了答案,每一行都将从零开始。该数组在对角线上用零填充。 最佳答案 假设您指的是非零元素的总数(而不是非零行的总数):In[12]:a=np.random.randint(0,3,size=(100,100))In[13]:timeitlen(a.nonzero()[0])1000loops,bestof3:306usperloopIn[14]:timeit(

python - 如何获得 ndarray 的 x 和 y 维度 - Numpy/Python

我想知道是否可以分别获取ndarray的x和y维度。我知道我可以使用ndarray.shape来获取表示维度的元组,但我如何在x和y信息中将其分开?提前谢谢你。 最佳答案 您可以使用元组解包。y,x=a.shape 关于python-如何获得ndarray的x和y维度-Numpy/Python,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22490721/

python - numpy中两个一维向量的点积

我正在使用python中的numpy来计算向量乘法。我有一个维度为nx1的向量x,我想计算x*x_transpose。这给我带来了问题,因为x.T或x.transpose()不影响一维向量(numpy表示垂直和水平向量相同方法)。但是如何在numpy中计算(nx1)x(1xn)向量乘法?numpy.dot(x,x.T)给出一个标量,而不是我想要的二维矩阵。 最佳答案 您实际上是在计算一个OuterProduct.你可以使用np.outer。In[15]:a=[1,2,3]In[16]:np.outer(a,a)Out[16]:arr

python , NumPy ;如何最好地处理可能的 0d 数组

Pythonnumpyndarrays让我失望了!我可以回到Matlab吗??假设我有一个函数需要一个ndarray向量输入。我使用numpy.asarray函数将输入强制转换为我想要的形式,很方便,不会重复已经是ndarray的内容。但是,如果传入标量,有时会将其制成0d数组而不是1d数组,具体取决于它的传入方式。0d数组会导致问题,因为我可以对其进行索引。首先,为什么我不能?说x=np.array(1)。然后x.size==1,所以它应该有第0个元素。为什么我不能执行x[0]或x[-1]。我知道它希望像pythonint,但它应该比int有所改进,而不是故意给予相同的限制。其次,如

python - 从 numpy 数组中删除一些元素

一个有趣的问题:我想从一个numpy数组中删除一些元素,但是就像下面简化的示例代码一样,如果不删除最后一个元素它可以工作,但是如果我们想删除最后一个元素它就会失败。下面的代码工作正常:importnumpyasnpvalues=np.array([0,1,2,3,4,5])printvaluesforiin[3,4,1]:values=np.delete(values,i)printvalues输出是:[012345][024]如果我们只将4改成5,那么它将失败:importnumpyasnpvalues=np.array([0,1,2,3,4,5])printvaluesforiin