草庐IT

pagerank_numpy

全部标签

python - 如何在 numpy 数组上进行条件数组运算?

我试图更好地掌握numpy数组,所以我有一个关于它们的示例问题:假设我有一个名为a的numpy数组。我想对a执行一个操作,该操作会递增其中所有小于0的值,并保留其余值。例如,如果我有:a=np.array([1,2,3,-1,-2,-3])我想返回:([1,2,3,0,-1,-2])最紧凑的语法是什么?谢谢! 最佳答案 In[45]:a=np.array([1,2,3,-1,-2,-3])In[46]:a[a 关于python-如何在numpy数组上进行条件数组运算?,我们在StackO

python - 将函数应用于 3D numpy 数组的每个 2D 切片的有效方法

我想对3D数组的每个2D切片应用一个接受2D数组(并返回相同形状之一)的函数。这样做的有效方法是什么?numpy.fromiter返回一维数组,numpy.fromfunction需要分别应用于每个坐标。目前我正在做foo=np.array([func(arg,bar2D)forbar2Dinbar3D])这给了我想要的,但列表理解速度很慢。此外,func是具有特定边界条件的一维导数。numpy.gradient似乎只对数组的N维进行N维导数,但也许有另一个例程可以为我完成所有事情?编辑:列表理解有效,但我正在寻找一种更快的方法。bar3D可以很大,最大可达(500,500,1000)

python - 使用 ATLAS/LAPACK 支持构建 numpy

我正在尝试编译numpyv1.12以获得对ATLAS/LAPACK例程的支持。问题我用于编译的设置似乎无法将ATLAS/LAPACK库引入numpy。设置我在我工作的主机(计算集群)上没有管理员权限。但是,这些节点通过GNU提供对gcc4.7.2和5.3.0、glibc2.17和2.22以及ATLAS/LAPACK库和头文件v3.10.2的访问模块。出于兼容性原因,我正在使用包含Python2.7.16的虚拟环境。同样,出于同样的原因,我正在安装旧版本的numpy。如果一切正常,我可能会探索更新版本的numpy但目前,这就是我正在使用的。我的numpy源目录有一个名为site.cfg的

python - numpy fromfile(count = -1) 在 Mac OS 上返回零数组以获得巨大的文件大小

我正在使用numpy.fromfile读取文件:mat1=numpy.fromfile("path/to/file",numpy.uint8,40000,"")这会按我的预期读取文件。但是当我阅读整个文件时:mat1=numpy.fromfile("path/to/file",numpy.uint8,-1,"")这给了我一个零数组。[0,0,0,...,0,0,0]我累了:numpy.count_nonzeros(mat1)给出0size(mat1)以字节为单位给出文件的确切大小。因此它生成了一个预期大小的数组,但它全是零。 最佳答案

python - numpy.int64 乘以 int -> numpy.float64

我将python3与numpy版本1.8.2(与numpy1.10.4和python2相同的问题)一起使用,并尝试做一些非常基本的事情:将两个整数相乘。importnumpyasnpa=9223372036854775808type(a)b=np.int64(0)type(b)type(b*a)但是输出是:builtins.intnumpy.int64numpy.float64所以两个整数相乘返回一个float!有什么合理的解释吗?请注意,如果我更改为a=9223372036854775807type(b*a)返回numpy.int64如果我把它提高到a=922337203685477

numpy.linalg.lstsq()详解以及用法示例

详解将最小二乘解返回到线性矩阵方程。计算近似求解方程的向量x。该方程可能未确定、良好或过度确定(即,线性独立行数可以小于、等于或大于其线性独立列数)。如果a是平方且为全秩,则x(但对于舍入误差)是等式的"精确"解。否则,x最小化欧几里得2范数。如果有多个最小化解,则返回具有最小2范数的解。参数a:(M,N)array_like"系数"矩阵。b:{(M,),(M,K)}array_like纵坐标或"因变量"值。如果b是二维的,则为b的每个K列计算最小二乘解。rcond:float,可选小奇异值的截止比。出于秩确定的目的,如果奇异值小于rcond乘以的最大奇异值,则将其视为零。在1.14.0版中更

python - numpy 数组 1.9.2 获取 ValueError : could not broadcast input array from shape (4, 2) 形状 (4)

以下代码在numpy1.7.1中工作,但在当前版本中给出值错误。我想知道它的根本原因。importnumpyasnpx=[1,2,3,4]y=[[1,2],[2,3],[1,2],[2,3]]a=np.array([x,np.array(y)])以下是我在numpy1.7.1中得到的输出>>>aarray([[1,2,3,4],[array([1,2]),array([2,3]),array([1,2]),array([2,3])]],dtype=object)但相同的代码在1.9.2版本中会产生错误。---->5a=np.array([x,np.array(y)])ValueErro

python - 将字典保存到文件(numpy 和 Python 2/3 友好)

我想在Python中进行分层键值存储,基本上归结为将字典存储到文件中。我的意思是任何类型的字典结构,可能包含其他字典、numpy数组、可序列化的Python对象等。不仅如此,我还希望它存储空间优化的numpy数组,并在Python2和3之间很好地运行。以下是我知道的方法。我的问题是此列表中缺少什么,是否有替代方案可以避开我所有的交易破坏者?Python的pickle模块(破坏交易:大大增加了numpy数组的大小)Numpy的save/savez/load(交易破坏者:跨Python2/3的格式不兼容)PyTablesreplacementfornumpy.savez(交易破坏者:只处理

python - 为什么 numpy.median 规模如此之大?

我最近在面试时遇到的一个问题是:Writeadatastructurethatsupportstwooperations.1.Addinganumbertothestructure.2.Calculatingthemedian.Theoperationstoaddanumberandcalculatethemedianmusthaveaminimumtimecomplexity.我的实现非常简单,基本上保持元素排序,这样添加一个元素的成本是O(log(n))而不是O(1),但中位数是O(1)而不是O(n*log(n))我还添加了一个简单的实现,但包含numpy数组中的元素:import

python - 使用 numpy.take 进行更快的花式索引

编辑我保留了下面面临的更复杂的问题,但我的问题是np.take可以更好地总结如下。假设你有一个数组img形状(planes,rows),和另一个数组lut形状(planes,256),并且您想使用它们创建一个新数组out形状(planes,rows),其中out[p,j]=lut[p,img[p,j]].这可以通过如下花式索引来实现:In[4]:%timeitlut[np.arange(planes).reshape(-1,1),img]1000loops,bestof3:471usperloop但是,如果您不使用花哨的索引,而是在planes上使用take和python循环事情可以大