【python – 添加不同形状的numpy数组】教程文章相关的互联网学习教程文章

python – 在NumPy数组中搜索序列【代码】

假设我有以下数组:array([2, 0, 0, 1, 0, 1, 0, 0])如何获得我出现值序列的索引:[0,0]?因此,这种情况的预期输出将是:[1,2,6,7]. 编辑: 1)请注意[0,0]只是一个序列.它可能是[0,0,0]或[4,6,8,9]或[5,2,0],只是任何东西. 2)如果我的数组被修改为:array([2,0,0,0,0,1,0,1,0,0]),具有相同序列[0,0]的预期结果将是[ 1,2,3,4,8,9. 我正在寻找一些NumPy快捷方式.解决方法:嗯,这基本上是图像处理中出现的template-matching problem.在...

python – Numpy数组与权重相加【代码】

我有一个二维numpy数组. 每行长三个元素,整数为0-3.这表示6位整数,每个单元按顺序表示两位. 我正在尝试将它们转换为完整的整数. 例如.for i in range(len(myarray)):myarray[i] = myarray[i][0] * 16 + myarray[i][1] * 4 + myarray[i][2]例如.我试图对每一行求和,但是根据[16,4,1]的某个权重向量. 这样做最优雅的方法是什么?我想我必须做一些点积然后加一个总和,但我不是百分之百有信心在哪里做点.解决方法:点积倾角是正确的,包括...

python – “合并”numpy数组和一个共同的维度【代码】

参见英文答案 > Pandas Merging 101 2个我有两个matricies,对应于数据点(x,y1)和(x,y2):x | y1 ------------0 | 01 | 12 | 23 | 34 | 45 | 5x | y2 ----------------0.5 | 0.51.5 | 1.52.5 | 2.53.5 | 3.54.5 | 4.55.5 | 5.5我想创建一个新的矩阵,将x值组合成一个列,并在相应的y1,y2列中包含NaN:x | y1 | y2 -----------------------------0 | ...

python – 查找NumPy数组与值列表中的任何值相等的位置【代码】

我有一个整数数组,想要找到该数组在多个值列表中的任何值的位置. 这可以通过单独处理每个值,或者在循环中使用多个“或”语句来轻松完成,但我觉得必须有更好/更快的方法来完成它.我实际上正在处理大小为4000 x 2000的数组,但这里是问题的简化版:fake = arange(9).reshape((3,3))array([[0, 1, 2],[3, 4, 5],[6, 7, 8]])want = (fake==0) + (fake==2) + (fake==6) + (fake==8)print want array([[ True, False, True],[False, Fals...

将单个元素的列表或numpy数组转换为在python中浮动【代码】

我有一个函数,可以接受列表或numpy数组. 在任何一种情况下,列表/数组都有一个元素(总是).我只需要返回一个浮点数. 所以,例如,我可以收到:list_ = [4]或numpy数组:array_ = array([4])我应该回来4.0所以,自然(我会说),我在list_上使用float(…)并得到:TypeError: float() argument must be a string or a number我对array_做同样的事情,这次它通过响应“4.0”来工作.由此,我了解到Python的列表无法以这种方式转换为float. 基于nu...

python – 左移循环一个numpy数组的最快方法(如pop,推送队列)【代码】

使用numpy数组,我想执行此操作: >将x [1],…,x [n-1]移动到x [0],…,x [n-2](左移),>在最后一个索引中写入一个新值:x [n-1] = newvalue. 这类似于pop(),push(newvalue)用于先进先出队列(仅倒置). 一个天真的实现是:x [: – 1] = x [1:]; x [-1] = newvalue. 使用np.concatenate的另一个实现更慢:np.concatenate((x [1:],np.array(newvalue).reshape(1,)),axis = 0). 有最快的方法吗?解决方法:经过一些实验,很明显: >需要...

python – 如何使用numpy数组在Keras中设置权重?【代码】

我在使用Keras后端函数设置值时遇到问题.我正在尝试将模型从PyTorch转换为Keras并尝试设置Keras模型的权重,但权重似乎没有设置.注意:我实际上并没有使用np.ones来设置一个例子. 我努力了… 加载现有模型import keras from keras.models import load_model, Model model = load_model(model_dir+file_name) keras_layer = [layer for layer in model.layers if layer.name=='conv2d_1'][0]创建一个简单的模型img_input = keras.lay...

python – Numpy数组广播规则【代码】

我在Numpy中理解阵列广播的规则时遇到了一些麻烦. 显然,如果你在两个相同尺寸和形状的数组上执行逐元素乘法,一切都很好.此外,如果您将多维数组乘以标量,它就可以工作.我明白了. 但是如果你有两个不同形状的N维阵列,我不清楚我究竟是什么广播规则. documentation/tutorial解释说:为了进行广播,操作中两个数组的尾轴大小必须相同,或者其中一个必须为1. 好吧,所以我假设它是尾随轴,它们指的是M x N阵列中的N.那么,这意味着如果我尝试...

python – 如何在numpy的数组中索引轴?

从Numpy’s tutorial开始,轴可以用整数索引,例如0表示列,1表示行,但我不明白为什么它们以这种方式索引?在处理多维数组时,如何计算每个轴的索引?解决方法:根据定义,维度的轴号是数组形状中该维度的索引.它也是在索引期间用于访问该维度的位置. 例如,如果2D阵列a具有形状(5,6),那么您可以访问[0,0]直到[4,5].因此,轴0是第一维(“行”),轴1是第二维(“列”).在更高的维度中,“行”和“列”停止真正有意义,尝试根据所涉及的形状和指数...

python – 没有double for循环展平numpy数组【代码】

我有一个二维矩阵.出于这个例子的目的,让我们说它是一个随机矩阵>>> a = np.random.randn(5, 7) >>> a array([[-0.37279322, 0.28619523, -0.05309901, 0.26010327, 0.1846693 , 0.33112176, 0.75814911],[ 1.57001151, -0.86831693, -0.20576395, 1.46450855, -0.01631132, 3.02790403, -0.65313017],[ 0.2362675 , -1.52190536, 0.04687194, 2.01618876, 0.03780218, -0.53041096, -0.30104844],[-0.5504834 , 1.042861...

python – 检查两个numpy数组是否相同【代码】

假设我有一堆数组,包括x和y,我想检查它们是否相等.一般来说,我可以使用np.all(x == y)(除非我现在忽略了一些愚蠢的角落情况). 但是,这会计算整个数组(x == y),这通常是不需要的.我的数组非常大,我有很多,两个数组相等的概率很小,所以很可能,我真的只需要在全部之前评估一小部分(x == y)函数可以返回False,所以这对我来说不是最佳解决方案. 我尝试使用内置的all函数,结合itertools.izip:all(val1 = val2为val1,val2为itertools.izi...

python – 如何将numpy数组值复制到更高的维度【代码】

我在2d中有一个(w,h)np数组.我想制作一个值大于1的3d维度,并将其值沿第三维复制.我希望广播会这样做,但事实并非如此.这就是我在做的方式arr = np.expand_dims(arr, axis=2) arr = np.concatenate((arr,arr,arr), axis=2)有更快的方法吗?解决方法:你可以向前推动所有的dims,引入一个单独的暗/新轴作为最后一个dim来创建一个3D阵列,然后沿着那个用np.repeat重复三次,就像这样 – arr3D = np.repeat(arr[...,None],3,axis=2)这是使用...

python – 在numpy数组中沿轴的和【代码】

我想了解这个ndarray.sum(axis =)是如何工作的.我知道axis = 0用于列,axis = 1用于行.但是在3维(3轴)的情况下,难以解释下面的结果.arr = np.arange(0,30).reshape(2,3,5)arr Out[1]: array([[[ 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],[25, 26, 27, 28, 29]]])arr.sum(axis=0) Out[2]: array([[15, 17, 19, 21, 23],[25, 27, 29, 31, 33],[35, 37, 39, 41, ...

python – 为numpy数组赋值复杂?【代码】

这给出了预期的结果x = random.rand(1) + random.rand(1)*1j print x.dtype print x, x.real, x.imag这很有效C = zeros((2,2),dtype=complex) C[0,0] = 1+1j print C但如果我们改变它C[0,0] = 1+1j + x我得到“TypeError:无法将复数转换为浮点数”. 如果我们现在省略显式dtype = complex,我得到“ValueError:设置一个带序列的数组元素”. 有人可以解释发生了什么,以及如何做到这一点没有错误?我迷路了.解决方法:要将复杂的x或x内...

python – 删除NumPy数组中包含重复项的行【代码】

我有一个(N,3)numpy值数组:>>> vals = numpy.array([[1,2,3],[4,5,6],[7,8,7],[0,4,5],[2,2,1],[0,0,0],[5,4,3]]) >>> vals array([[1, 2, 3],[4, 5, 6],[7, 8, 7],[0, 4, 5],[2, 2, 1],[0, 0, 0],[5, 4, 3]])我想从数组中删除具有重复值的行.例如,上面数组的结果应该是:>>> duplicates_removed array([[1, 2, 3],[4, 5, 6],[0, 4, 5],[5, 4, 3]])我不知道如何在没有循环的情况下有效地使用numpy(数组可能非常大).谁知道我怎么能...