草庐IT

pagerank_numpy

全部标签

python - NumPy 追加 vs Python 追加

在Python中,我可以附加到一个空数组,例如:>>>a=[]>>>a.append([1,2,3])>>>a.append([1,2,3])>>>a[[1,2,3],[1,2,3]]我如何在NumPy中做同样的事情?不幸的是,np.append使数组变平(我需要在开头有一个空数组)。 最佳答案 OP打算从空数组开始。所以,这是使用NumPy的一种方法In[2]:a=np.empty((0,3),int)In[3]:aOut[3]:array([],shape=(0L,3L),dtype=int32)In[4]:a=np.appen

python - 如何为numpy数组创建圆形蒙版?

我正在尝试在Python中圆形mask图像。我在网上找到了一些示例代码,但是我不确定如何更改数学以正确地定位我的圈子。我有一个类型为image_data的numpy.ndarray类型的图像(3725,4797,3):total_rows,total_cols,total_layers=image_data.shapeX,Y=np.ogrid[:total_rows,:total_cols]center_row,center_col=total_rows/2,total_cols/2dist_from_center=(X-total_rows)**2+(Y-total_cols)**2

python - 如何选择以值结尾的 3D numpy 数组的子集?

我有一个像这样的3Dnumpy数组shape(3,1000,100)[[[2,3,0,2,6,...,0,-1,-1,-1,-1,-1],[1,4,6,1,4,5,3,...,1,2,6,-1,-1],[7,4,6,3,1,0,1,...,2,0,8,-1,-1],...[8,7,6,4,...,2,4,5,2,1,-1]],...,[1,5,6,7,...,0,0,0,0,1]]]数组的每个channel以0或多个(我确定少于70)-1结尾。现在,我只想为每条泳道选择-1之前的30个值,以生成形状为(3,1000,30)应该是这样的,[[[...,0],[...,1,2,6],[..

python - 如何在 numpy 数组和向量行之间执行包含操作?

现在我有了一个numpy数组,[[12][34][25]]和一个向量。[2,5,2]我想在数组和向量行之间执行包含操作。换句话说,我想检查第一行[1,2]是否包含2,第二行是否包含[3,4]包含5。预期的输出如下所示:[True,False,True]如何实现这个功能?非常感谢。 最佳答案 您可以将向量广播到列中,将其等同于矩阵行中的所有元素,然后查看是否any每行中的元素都是True:importnumpyasnpa=np.array([[1,2],[3,4],[2,5]])v=np.array([2,5,2]).reshape(

python - 在 numpy 中将 slice 包裹在二维数组的边缘

假设我在Python中使用numpy,并且我有一个任意大小的二维数组。为方便起见,假设我有一个5x5阵列。具体数字对我的问题不是特别重要;它们只是一个例子。a=numpy.arrange(25).reshape(5,5)这会产生:[[0,1,2,3,4],[5,6,7,8,9],[10,11,12,13,14],[15,16,17,18,19],[20,21,22,23,24]]现在,假设我想获取此数组的二维切片。在正常情况下,这很容易。要使单元格紧邻2,2,我只需使用a[1:4,1,4]即可产生预期的[[6,7,8],[11,12,13],[16,17,18]]但是如果我想拿一片包裹

python - 将类 'pandas.indexes.numeric.Int64Index' 转换为 numpy

我正在从Pandas数据框中分离出一些行ID,如下所示:data=df.loc[df.cell==id]rows=df.indexprint(type(rows))我想将行转换为numpy数组,以便使用sio.savemat将其保存到mat文件中。虽然这会返回一个错误:row_mat=rows.as_matrix()AttributeError:'Int64Index'objecthasnoattribute'as_matrix'请问正确的方法是什么?谢谢 最佳答案 试试rows=df.index.values

python - matplotlib.scatter() 不能在 Python 3.6 上使用 Numpy

我很难理解为什么matplotlib.scatter()在使用Python3.6.3作为解释器时不断抛出以下异常,但在使用我的MacBook内置的2.7时工作正常:Traceback(mostrecentcalllast):File"/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py",line132,into_rgbargba=_colors_full_map.cache[c,alpha]TypeError:unhashabletype:'nu

python - 如何根据相对值对 numpy 数组的每个元素进行操作?

假设我们有一个数组a=np.array([10,30,50,20,10,90,0,25])我想要的伪代码-ifa[x]>80thenperformfuncAona[x]if40使用numpy函数执行此操作的最简洁方法是什么? 最佳答案 通常,您会尝试避免对NumPy数组进行任何Python循环——这就是您首先使用NumPy的原因。为了举例,我假设funcA()将所有元素加1,funcB()加2,funcC()加3(请详细说明他们真正做了什么,以获得更量身定制的示例)。要实现你想要的,你可以这样做:subset_a=a>80subse

python - 将 numpy 掩码有效地扩展到每个错误值的右侧 n 个单元格

假设我有一个长度为30的数组,其中有4个错误值。我想为那些坏值创建一个掩码,但由于我将使用滚动窗口函数,我还希望在每个坏值之后有固定数量的后续索引被标记为坏。在下面,n=3:我想尽可能高效地执行此操作,因为此例程将在包含数十亿个数据点的大型数据系列上运行多次。因此,我需要尽可能接近numpy向量化解决方案,因为我想避免python循环。为了避免重新输入,这里是数组:importnumpyasnpa=np.array([4,0,8,5,10,9,np.nan,1,4,9,9,np.nan,np.nan,9,\9,8,0,3,7,9,2,6,7,2,9,4,1,1,np.nan,10])

python - 使用 numpy/scipy 进行 6 次曲线拟合

我有一个非常具体的要求,即使用6次多项式对非线性数据进行插值。我见过numpy/scipy例程(scipy.interpolate.InterpolatedUnivariateSpline),它只允许插值到5次。即使没有直接的函数可以做到这一点,有没有办法在Python中复制Excel的LINEST线性回归算法?LINEST允许6度曲线拟合,但我不想将Excel用于任何事情,因为此计算是更大的Python脚本的一部分。如有任何帮助,我们将不胜感激! 最佳答案 您可以使用scipy.optimize.curve_fit使您想要的任何功