【python – (numpy)__array_wrap__做什么?】教程文章相关的互联网学习教程文章

python – 有效地从现有数组创建新的numpy数组【代码】

我有现有的numpy数组(uint8),如下所示: (值为8位,我只对最后3位感兴趣)[[ 00000AAA, 00000BBB, 00000CCC ],[ 00000FFF, 00000EEE, 00000DDD ],[ 00000GGG, 00000HHH, 00000III ],[ 00000LLL, 00000KKK, 00000JJJ ] ]最后我想以这种形式获得数据:[01AAABBB, 01CCCDDD 01EEEFFF, 01GGGHHH, 01IIIJJJ, 01KKKLLL]此外,每隔一行反转. 目前我有一个冗长而缠绕的代码,它逐行地逐行遍历原始列表,移位和添加数据,但这还不够有效. 有没有什...

python – numpy不规则跨步阵列【代码】

在内存中的numpy数组结构上引用documentation:Several algorithms in NumPy work on arbitrarily strided arrays.However, some algorithms require single-segment arrays. When anirregularly strided array is passed in to such algorithms, a copy isautomatically made.什么是不规则跨度阵列? 这是一个— numpy.array([[1],[1,2]])?如果不是,请举一个例子.解决方法:例如:>>> import numpy as np >>> a = np.arange(10) >...

python – 如何将numpy数组传递给openCV而不将文件首先保存为png或jpeg?【代码】

我试图截取屏幕截图,然后将其转换为numpy数组.然后我想使用截图运行cv2.matchTemplate.到目前为止,我使用它的唯一方法是保存图像:cv2.imwrite(‘temp.png’,imcv)然后在cv2.matchTemplate中使用该图像.这看起来非常糟糕.如何正确转换numpy数组以避免保存并直接将其传递给cv2.matchTemplate函数? 我在Ubuntu btw做这个项目.import pyscreenshot as ImageGrab import PIL import cv2 import numpy as np from matplotlib import py...

python – Numpy Bool数组上的布尔运算符之和(Bug?)【代码】

在使用numpy的数组时,我遇到了一个令人惊讶的情况.以下代码(True==True)+(True==True)正如人们所期望的那样,返回2.而import numpy Array=numpy.zeros((2,2),dtype=bool) (Array[0][0]==Array[0][0])+(Array[1][0]==Array[1][0])返回True.这导致:(Array[0][0]==Array[0][0])+(Array[1][0]==Array[1][0])-1返回0,而(Array[0][0]==Array[0][0])-1+(Array[1][0]==Array[1][0])返回1,使得总和不可交换! 这是有意的吗?如果是这样,为什...

python – 在numpy结构化数组列上执行math.sqrt【代码】

我有一个numpy结构化数组.最后一列需要根据行中的其他值包含简单数学方程的结果.问题是我在尝试计算等式的平方根部分时出现以下错误: TypeError:只能将length-1数组转换为Python标量 限制是我无法迭代数组以一次添加一个值. 这是一个显示错误的示例:import numpy as np import mathdata = np.random.randint(-100, 100, (1, 6, 4))data[:,3] = math.sqrt((0-data[:,0])**2 + (0-data[:,1])**2 + (0-data[:,2])**2)解决方法:您只...

python – 来自形状的Numpy Broadcast索引【代码】

我有2个阵列形状,可以互相播放. 例如(2,2,1)和(2,3) 我想要一个带有这些形状的函数,并给我一个迭代器,从这些数组返回索引,这些形状将一起广播,并在结果输出数组中返回索引.iter, output_shape = broadcast_indeces_iterator((2, 2, 1), (2, 3)) assert output_shape == (2, 2, 3) for in1_ix, in_2_ix, out_ix in iter:print (in1_ix, in_2_ix, out_ix) 结果输出:(0, 0, 0), (0, 0), (0, 0, 0) (0, 0, 0), (0, 1), (0, 0, 1) (...

python – 如何批量拆分numpy数组?【代码】

这听起来很容易,我不知道该怎么做. 我有numpy 2d数组X = (1783,30)我希望将它们分批分成64个.我这样编写代码.batches = abs(len(X) / BATCH_SIZE ) + 1 // It gives 28我试图批量预测结果.所以我用零填充批处理,然后用预测结果覆盖它们.predicted = []for b in xrange(batches): data4D = np.zeros([BATCH_SIZE,1,96,96]) #create 4D array, first value is batch_size, last number of inputsdata4DL = np.zeros([BATCH_SIZE,1,1...

python – 从numpy 2-D数组中删除NAN【代码】

与this question类似,我想从2-D numpy数组中删除一些NAN.但是,我没有删除具有NAN的整行,而是想从数组的每一行中删除相应的元素.例如(为简单起见使用列表格式)x=[ [1,2,3,4],[2,4,nan,8],[3,6,9,0] ]会成为x=[ [1,2,4],[2,4,8],[3,6,0] ]我可以想象使用numpy.where来确定NAN的每一行出现在哪里,然后使用一些循环和逻辑语句从旧数组中创建一个新数组(跳过NAN和其他行中的相应元素)但是这对我来说似乎并不是一种非常精简的做事方式.还...

python – numpy中以下操作的含义是什么?【代码】

我正在挖出一块numpy代码,而且有一条我完全不懂的线:W[:, :, None] * h[None, :, :] * diff[:, None, :]其中W,h和diff是78420,20100和784100矩阵.乘法结果是784x20x100数组,但我不知道这个计算实际上是做什么的,结果是什么意思. 对于它的价值,该线来自机器学习相关代码,W对应于神经网络层的权重数组,h是层激活,diff是网络目标和假设之间的差异(从转换自动编码器的Sida Wang’s thesis起).解决方法:对于NumPy数组,*对应于逐元素乘法...

python – 如何在numpy中表示“:”【代码】

我想切片一个多维的ndarray,但不知道我将切入哪个维度.让我们说我们有一个有形状的ndarray A(6,7,8).有时我需要在第一维A [:,3,4]上切片,有时在第三维A [1,2,:]上切片. 有没有符号代表“:”?我想用它来生成索引数组.index=np.zeros(3) index[0]=np.: index[1]=3 index[2]=4 A[index]解决方法::slice可以通过调用slice(None)显式创建.这是一个简短的例子:import numpy as np A = np.arange(9).reshape(3, -1)# extract the 2n...

复制Python int * numpy.array行为【代码】

我正在尝试使用大多数正常的数学运算来构建矩阵的类表示.我用标量乘法运算遇到了麻烦. 代码的相关部分如下:import numpyclass Matrix(object):def __init__(self, array):self.array = numpy.array(array, dtype=int)def __mul__(self, other):if type(other) == int:return Matrix(other*self.array)else:raise ValueError("Can not multiply a matrix with {0}".format(type(other)))标量乘法表示的标准方法是cA,其中c是标量,A是...

python – NumPy Indexing – 索引列表的所有成对元素【代码】

在NumPy中使用切片时,您将获得所有成对元素,例如:>> im = np.arange(1,37).reshape((6, 6)) >> im[1:6:2,1:6:2] array([[ 8, 10, 12],[20, 22, 34],[32, 34, 36]])但是,当使用索引的列表/元组时,似乎没有遵循此行为:>> im[(1,3,5),(1,3,5)] array([ 8, 22, 36])>> im[[1,3,5],[1,3,5]] array([ 8, 22, 36])相反,它只是对角线(在这种情况下).如果您不能将索引指定为切片,则会出现问题,例如(1,3,4)和(1,3,6).对于那两个元组,我希望...

python – PIL Image构造来自numpy数组的奇怪图像 – 为什么?【代码】

我想要一种方法来生成红色,绿色或蓝色的小RGB方形图像.它应该产生坚固的色块,但PIL输出的图像非常奇怪.为什么?import numpy as np from PIL import Imageclass MakeSquares():def __init__(self):self.num_rows = 3self.num_cols = 3self.colourmap = {'red': [255, 0, 0],'green': [0, 255, 0],'blue': [0, 0, 255]}def generateExample(self, label):arr = []colour = labelcolour_array = self.colourmap[colour]for i in rang...

python – numpy的百分位函数究竟做了什么?【代码】

根据我的理解,numpy’s percentile计算数据的第q百分位数. 但它是如何做到的呢? 比如说,给定x = np.array([1.3,1.7,2.4,2.8,3.5,5.6,6.6,7.7,8.8,9.9])(里面有10个浮点数). 如果我做np.percentile(x,100),它会返回9.9000000000000004. 如果我做np.percentile(x,90),它应该返回8.8,对吗?但它回馈了8.9100000000000001. 为什么会有这样的差异?这些差异是否可以接受?解决方法:从版本1.9.0开始,Numpy的百分位函数有一个插值参数,如...

python – 相当于熊猫的numpy【代码】

我有以下numpy数组:x = np.arange(9.).reshape(3, 3)从而:>>>> x array([[ 0., 1., 2.],[ 3., 4., 5.],[ 6., 7., 8.]])我想选择第三列大于2的所有行. 在熊猫中,我会这样做:import pandas as pd d = DataFrame(x)>>>> d[d.iloc[:,2]>2]输出将是:0 1 2 1 3 4 5 2 6 7 8如何使用numpy获得相同的输出?我尝试了numpy,但它返回索引,而不是值.谢谢!解决方法: In [120]: x[x[: , 2] > 2] Out[120]: array([[ 3., 4., ...