【python – 为什么numpy.zeros会占用很少的空间】教程文章相关的互联网学习教程文章

使此C数组处理代码更像python(甚至numpy)【代码】

我正在努力使自己的Python达到惊人的列表处理能力(最终达到numpy).我正在将我编写的一些C代码转换为python. 我有一个文本数据文件,其中第一行是标题,然后每个奇数行是我的输入数据,每个偶数行是我的输出数据.所有数据空间分开.我很奇怪,我设法使用嵌套列表推导将所有数据读入列表.很棒的东西.with open('data.txt', 'r') as f:# get all lines as a list of stringslines = list(f)# convert header row to list of ints and get i...

python-使Numpy.where在遇到第一个true之后停止【代码】

我正在尝试按输入大小扩展一段代码,瓶颈似乎是调用numpy.在这里,我仅使用第一个真实索引:indexs = [numpy.where(_<cump)[0][0] for _ in numpy.random.rand(sample_size)]如果我能告诉numpy在遇到第一个真值后停止运行,我会快得多(我正在反转一个累积密度函数-cump-它在cump的第一个数组值上快速增长).我可以通过循环和中断来手动完成此操作,但是我想知道是否有pythonista的方式可以执行此操作?解决方法:如果cump是累积密度函数,...

python-如何在不使用循环的情况下使用numpy.lexsort【代码】

嗨,我想使用lexsort订购numpy.array.import numpy as np surnames = ['Hertz', 'Galilei', 'Hertz'] names = ['Heinrich', 'Galilao', 'Gustav'] ind = np.lexsort((names,surnames))但是如何根据此索引排序一个数组? 我会做surnames2 = surnames.copy() for i, a in enumerate(ind):surnames2[i] = surnames[a]但是我认为应该有另一种方式,而不自己写周期. 谢谢解决方法:如果将姓转换为numpy数组,则可以使用lexsort返回的整数数组...

python-使用索引列表有效填充NumPy数组【代码】

我知道如何在joblib中执行并行循环,该循环返回结果列表. 但是,是否可以并行填充预定义的numpy矩阵? 想象一下以下最小示例矩阵和数据:column_data = ['a', 'b', 'c', 'd', 'e', 'f', 'x'] data = [['a', 'b', 'c'],['d', 'c'],['e', 'f', 'd', 'x']] x = np.zeros((len(data), len(column_data))请注意,column_data已排序且是唯一的.数据是列表的列表,而不是矩形矩阵. 循环:for row in range(len(data)):for column in data[row]...

python-在Numpy中对遮罩数组进行切片时,如何保留遮罩?【代码】

当我创建一个Numpy蒙版数组的视图(通过切片)时,会将蒙版复制到视图中-这样,对视图的更新将不会更改原始蒙版中的蒙版(但会更改原始数组中的数据). 我想要的是在更新视图时同时更改原始数据和原始蒙版. 从Numpy documentation开始:When accessing a slice, the output is a masked array whose data attributeis a view of the original data, and whose mask is either nomask (if therewas no invalid entries in the original ar...

python-确保numpy数组中至少具有一定的维数【代码】

我的工具箱中有以下功能,并且高度依赖它.我很难相信没有numpy内置函数可以做到这一点,但是我在numpy中搜索可能的函数名称,而google在搜索该问题的各种措辞时都没有发现任何东西.有东西吗def project(a, maxdim):"""Return a view of the numpy array <a> that has at least <maxdim>+1dimensions (pad a.shape with 1's on the right if necessary)."""if isinstance(a, numpy.matrix) and maxdim > 1: a = numpy.asarray(a)else: ...

python-使用theano / numpy.tensordot的外部产品【代码】

我有一个NumPy数组,其中n = 3个向量的长度为m = 10,因此input.shape =(n,m,1).我正在尝试使用theano / numpy.tensordot计算每个向量的外积,这样output.shape =(n,m,m)和:output[i] = np.dot(input[i],input[i].T) = np.outer(input[i],input[i])我很确定这是可能的,但是很难确定要为轴使用哪些参数.这可以很容易地在数组上进行迭代,但是我正在尝试使用tensordot完成此步骤,因为它在theano和numpy中实现相同.这很重要,因为我正在使...

python找到两个numpy数组的交点【代码】

我有两个描述一个空间曲线的numpy数组,它们在一个点上相交,并且我想在两个数组中找到该交点的最接近值,我的这段代码可以正常工作,但是对于大量的点它会变慢.from scipy import spatial def nearest(arr0, arr1):ptos = []j = 0for i in arr0:distance, index = spatial.KDTree(arr1).query(i)ptos.append([distance, index, j])j += 1ptos.sort()return (arr1[ptos[0][1]].tolist(), ptos[0][1], ptos[0][2])结果将是(<点坐标>,< a...

python-向量化-添加没有循环的numpy数组?【代码】

所以我有以下numpy数组:c = array([[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9],[10, 11, 12]]) X = array([[10, 15, 20, 5],[ 1, 2, 6, 23]]) y = array([1, 1])我试图将X数组中的每个14行添加到c中的列之一. y数组指定哪一列.上面的示例意味着我们将X数组中的两行都添加到c的第1列.也就是说,我们应该期待以下结果:c = array([[ 1, 2+10+1, 3], = array([[ 1, 13, 3],[ 4, 5+15+2, 6], [ 4, 22, 6],[ 7, ...

python-在numpy ndarray中沿指定轴循环矢量的有效方法是什么?【代码】

我通过沿numpy ndarray的轴(可以是任何轴)(可以是任何尺寸)上的向量进行循环来处理数据. 我没有直接处理数组,因为数据并不完美.它要求对每个载体进行质量控制.如果不好,向量将由零(或nan)填充,并且不进行实际处理. 我发现this Q类似,但我的问题要困难得多,因为 > ndim是任意的. 对于3D数组,我可以像这样沿1轴取向量x = np.arange(24).reshape(2,3,4)for i in range(x.shape[0]):for k in range(x.shape[2]):process(x[i,:,k])但是如...

python-区分numpy数组的基本切片和高级切片【代码】

我正在阅读有关numpy array indexing的文档,但仍不清楚如何区分基本切片和高级切片. 谢谢,如果有人可以解释一下.x[(1,2,3),] is fundamentally different than x[(1,2,3)]. The latter isequivalent to x[1,2,3] which will trigger basic selection while theformer will trigger advanced indexing. Be sure to understand why thisoccurs. Also recognize that x[[1,2,3]] will trigger advanced indexing, whereasx[[1,2,slice...

python-使用vstack在numpy中堆叠数组【代码】

array1.shape给(180,)array2.shape给(180,1) 两者有什么区别?由于这种差异,我无法使用np.vstack((array2, array1))我应该对array1形状进行哪些更改,以便可以将它们堆叠起来?解决方法:让我们定义一些数组:>>> x = np.zeros((4, 1)) >>> y = np.zeros((4))这些数组无法堆叠:>>> np.vstack((x, y)) Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/lib/python3/dist-packages/numpy/core/shape...

python-如何根据内容从numpy数组中提取行?【代码】

例如,作为标题,我有一个2d的numpy数组,如下图所示,[[33, 21, 1],[33, 21, 2],[32, 22, 0],[33, 21, 3],[34, 34, 1]]并且我想根据第一列和第二列中的内容有序地提取这些行,在这种情况下,我想获得3个不同的2d numpy数组,如下所示,[[33, 21, 1],[33, 21, 2],[33, 21, 3]]和[[32, 22, 0]]和[[34, 34, 1]]我可以使用numpy中的哪个函数来执行此操作?我认为关键是要区分第一行和第二列的不同行.如果这些列中的元素相同,则将特定的行分类在...

有没有更多的Pythonic /优雅方法来扩展Numpy数组的尺寸?【代码】

我现在想做的是:x = x[:, None, None, None, None, None, None, None, None, None]基本上,我想将Numpy数组扩展9个维度.或一些N个尺寸,其中N可能事先未知! 有一个更好的方法吗?解决方法:一种替代方法可能是重塑-x.reshape((-1,) + (1,)*N) # N is no. of dims to be appended因此,基本上对于与单例尺寸相对应的None,我们沿这些暗点使用长度为1的形状.对于第一个轴,我们使用-1形状将所有元素推入其中. 样品运行-In [119]...

Python基础-numpy【代码】【图】

创建数组numpy.array():括号内可以是列表、元祖、数组、生成器等 numpy.arange():类似range(),在给定间隔内返回均匀间隔的值#numpy.linspace() 返回在间隔[开始,停止]上计算的num个均匀间隔的样本。 # numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) # start:起始值,stop:结束值 # num:生成样本数,默认为50 # endpoint:如果为真,则停止是最后一个样本。否则,不包括在内。默认值为Tru...