【python3库numpy数组属性的查看方法】教程文章相关的互联网学习教程文章

python-加速Numpy数组/ OpenCV cv2图像上的迭代【代码】

我有3个形状为>的numpy数组(500,500).我正在尝试同时迭代它们.我尝试了两种不同的方法,但是它们都很慢. 在此,Ix_Ix_blur,Ix_Iy_blur和Iy_Iy_blur大小相同.我正在尝试查找功能并将其绘制在OpenCV图像上. 方法1:for i in xrange (Ix_Ix_blur.shape[1]):for j in xrange(Ix_Ix_blur.shape[0]):A = np.array([ [Ix_Ix_blur[j][i], Ix_Iy_blur[j][i]], [Ix_Iy_blur[j][i], Iy_Iy_blur[j][i]] ])detA = (A[0][0]*A[1][1])-(A[0][1]*A[1]...

python-格式化numpy数组并保存到* .txt【代码】

我想格式化一个numpy数组并将其保存在* .txt文件中 numpy数组如下所示:a = [ 0.1 0.2 0.3 0.4 ... ] , [ 1.1 1.2 1.3 1.4 ... ] , ...输出* .txt应该如下所示:0 1:0.1 2:0.2 3:0.3 4:0.4 ... 0 1:1.1 2:1.2 3:1.3 1:1.4 ... ...不知道该怎么做. 谢谢. 好吧,贾巴,谢谢.我把你的答案固定了一点import numpy as npa = np.array([[1,3,5,6], [4,2,4,6], [6,3,2,6]])ret = ""for i in range(a.sh...

python-取消numpy数组操作(包括标量)【代码】

我正在使用NumPy 1.7.1版.现在我遇到了一个我不明白的奇怪取消:>>> import numpy as np >>> a = np.array([ 883, 931, 874], dtype=np.float32)数学上0.1-a应该是0.1.现在让我们计算一下这个表达式以及绝对和相对误差:>>> a+0.1-a array([ 0.09997559, 0.09997559, 0.09997559], dtype=float32) >>> (a+0.1-a)-0.1 array([ -2.44155526e-05, -2.44155526e-05, -2.44155526e-05], dtype=float32) >>> ((a+0.1-a)-0.1) / 0.1...

python-NumPy-将数组重塑为一维【代码】

我在将NumPy数组转换为1-D时遇到问题.我调查了在SO上发现的想法,但问题仍然存在.nu = np.reshape(np.dot(prior.T, randn(d)), -1) print 'nu1', str(nu.shape) print nu nu = nu.ravel() print 'nu2', str(nu.shape) print nu nu = nu.flatten() print 'nu3', str(nu.shape) print nu nu = nu.reshape(d) print 'nu4', str(nu.shape) print nu该代码产生以下输出:nu1 (1, 200) [[-0.0174428 -0.01855013 ... 0.01137508 0.00577...

python-重新采样并调整numpy数组的大小【代码】

我想按照这里的建议重新采样一个numpy数组Resampling a numpy array representing an image,但是这种重新采样将以一个因素进行,即x = np.arange(9).reshape(3,3) print scipy.ndimage.zoom(x, 2, order=1)将创建(6,6)的形状,但是如何在(4,6),(6,8)或(6,10)形状内重新采样数组以使其达到最佳近似度?解决方法:而不是将单个数字传递给zoom参数,而是给出一个序列:scipy.ndimage.zoom(x, zoom=(1.5, 2.), order=1) #array([[0, 0, 1, ...

python-以小块创建非常大的NUMPY数组(PyTables与numpy.memmap)【代码】

关于SO的问题似乎很多,但是它们并不能完全回答我的问题.我认为这对于计算科学家来说是一个非常普遍的用例,因此我提出了一个新问题. 题: 我从文件中读取了几个小的numpy数组(每个数组约10 MB),并对它们进行了一些处理.我想创建一个更大的数组(?1 TB),其中数组中的每个维度都包含这些较小文件之一的数据.任何尝试在RAM中创建整个较大阵列(或其大部分)的方法均不适用,因为它会淹没RAM,并使计算机停止运行.因此,我需要能够初始化较大的...

python-如何通过切片范围有效地索引到一维numpy数组【代码】

我有一个很大的一维数据数组.在发生重要事件的地方,我有一个指向数据的索引的开始数组.我想得到一个范围数组,以便得到长度为L的窗口,开始时每个起点都一个.伪造的样本数据:data = np.linspace(0,10,50) starts = np.array([0,10,21]) length = 5我想本能地做类似的事情data[starts:starts+length]但是,实际上,我需要将范围“窗口”的二维数组开始.来自功能语言,我认为它是从列表到列表列表的映射,例如:np.apply_along_axis(lambd...

python-熊猫:为一列中的每一行计算numpy数组的平均值【代码】

我有一个熊猫数据框df,其中包含列,其中每一行包含一个大小可变的numpy数组,例如column A 0 np.array([1,2,3]) 1 np.array([1,2,3,4]) 2 np.array([1,2])我有一个内置的pandas函数,它将返回整个列的每个数组(即行)的平均值吗?就像是 :df.A.mean()但是,这对每一行都起作用.谢谢你的帮助.解决方法:您可以使用df.< column> .map将函数应用于列中的每个元素:df = pd.DataFrame({'a': [np.array([1, 2, 3]), np.array([4, 5, 6, ...

Python在带有numpy数组数据的for循环中添加列表【代码】

我正在编写一个程序,该程序将追加从二维numpy数组中提取的单个元素的列表.到目前为止,我有:# For loop to get correlation data of selected (x,y) pixel for all bands zdata = [] for n in d.bands:cor_xy = np.array(d.bands[n])zdata.append(cor_xy[y,x])每次运行程序时,都会出现以下错误:Traceback (most recent call last):File "/home/sdelgadi/scr/plot_pixel_data.py", line 36, in <module>cor_xy = np.array(d.bands[...

如何在python中识别属于numpy数组中集合的元素【代码】

说我有一个numpy数组A = numpy.array([-1, 1, 2, -2, 3, -3])我想获取所有平方等于1或9的数字(因此预期结果为[1,-1、3,-3]).我尝试了[[1,9]中的A [A ** 2],但收到错误.是否有任何内置函数无需循环即可处理此简单任务?谢谢.解决方法:numpy的功能可以完成in1d的功能:import numpyA = numpy.array([-1, 1, 2, -2, 3, -3]) mask = numpy.in1d(A**2, [1, 9]) print(mask) # [ True True False False True True] print(A[mask]) # [...

在python 3中将numpy数组列表转换为字符串时的椭圆【代码】

我有一个numpy数组的列表.我想将数组列表转换为字符串.这样就可以得到一长串的数组,例如[stuff],[stuff2]’.每个数组有192个元素.如果列表具有5个或更少的数组,则在执行str(myList)时可以进行转换.如果它有6个数组,我会返回带有省略号的截断数组.为什么是这样?我该如何阻止它? 我已经检查了数组本身,实际上它们不包含椭圆,它们包含正确的值. 我进一步研究了它,如果我做类似str(myList [0:5])的操作,它可以在前5个数组上工作,但是...

python-numpy数组到文件np.savetxt【代码】

当我使用np.savetxt(file.txt,(arr1,arr2,arr3))时,将多个numpy数组保存到文件中的最佳方法是什么?数组是按列而不是按行保存的,因此很难导入excel.如何以更标准的方式保存阵列? 谢谢解决方法:我对此有几乎直接的答案是这里概述http://rinocloud.github.io/rinocloud-tutorials/saving-data-with-numpy 使用vstack 使用vstack从numpy保存多个数组 假设我们有一个要保存到文件的numpy数组x = np.random.random_integers(0, 10, siz...

python-将bincount应用于2D numpy数组的每一行【代码】

有没有办法使用“轴= 1”应用bincount?所需的结果将与列表理解相同:import numpy as np A = np.array([[1,0],[0,0]]) np.array([np.bincount(r,minlength = np.max(A) + 1) for r in A])#array([[1,1] # [2,0]])解决方法:np.bincount不适用于沿着特定轴的2D阵列.为了通过对np.bincount的单个矢量化调用获得理想的效果,可以创建一维ID数组,以便即使元素相同,不同的行也将具有不同的ID.当使用一次具有这些ID的np.bincount调用...

python-根据条件分配numpy数组【代码】

编写此numpy python代码的更好方法是什么?age[age < 20.0] = 0.0 age[age > 0.0] = 1.0 mature = age在此,对于年龄>> 10的所有值,“成熟”包含1.0. 20.0,否则为0.0解决方法: mature = age = (age > 20.0).astype(float)年龄> 20.0是一个布尔数组. astype(float)将数组转换为float dtype,该类型将True更改为1.0,将False更改为0.0.请注意,这还会将NaN转换为0. 要保留NaN,就像原始代码一样,可以使用np.clip:mature = age = np.cli...

python-在numpy数组中加权平面的最佳方法是什么?【代码】

我有以下代码,其中w是兼容维的一维numpy数组,而M是4D数组,i = 0 for weight in w:M[:, :, i, :] *= weighti += 1有没有更好的方法可以达到相同的效果?解决方法:您将使用w中的元素沿轴= 2缩放M,这是一维数组.因此,您需要将w扩展到np.newaxis/None的2D数组,这将使w的扩展版本与M之间的轴对齐.然后,在这两个数组之间执行逐元素乘法以引入broadcasting作为矢量化解决方案,例如-M *= w[:,None]如果M的axis = 2的长度大于w中的元素数,则...

PYTHON3 - 相关标签