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

python-将1D字节数组转换为2D numpy数组的最快方法【代码】

我有一个可以像这样处理的数组:ba = bytearray(fh.read())[32:] size = int(math.sqrt(len(ba)))我可以判断像素应该是黑色还是白色iswhite = (ba[i]&1)==1如何快速将我的1D字节数组转换为2D numpy数组,其行长大小为(ba [i]& 1)== 1而其他像素为白色像素?我这样创建数组:im_m = np.zeros((size,size,3),dtype="uint8)解决方法: import numpy as np# fh containts the file handle# go to position 32 where the image data start...

python-使用索引替换2D numpy数组的一部分【代码】

我正在尝试将2D numpy数组的一部分替换为i和j的函数,它们名为“ S”.给定S为:>>> S Out[1]: array([[ 1., 0., 0.],[ 0., 3., 0.],[ 0., 0., 9.]]对于i = 0和j = 1,我可以使用以下语法访问元素第i和j行以及第i和j列:>>> S[:, [i, j]][[i, j], :] Out[2]: array([[ 1., 0.],[ 0., 3.]])现在,当我尝试用另一个尺寸相同的数组(tmp_arr)替换数组S的相同元素时,python不会给出错误,但是它也没有做任何事情,这意味着S的元素保...

python-如何根据数组中值的相对大小将numpy数组按特定顺序排序(由单独的列表指定)【代码】

在一段代码中,我已经构造了一个numpy数组,并且我想根据列表中指定的特定顺序对该第一个数组进行排序.结果将是第三个数组(new_values). 第一个数组具有要排序的值.values = numpy.array([10.0, 30.1, 50, 40, 20])该列表提供了由new_values中的值的索引给出的顺序,该顺序应按降序排列,其中0对应于最大数字.order=[0, 3, 1, 4, 2].所以,new_values[0] > new_values[3] > new_values[1] > new_values[4] > new_values[2]我试图找到一个...

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中搜索可能的函数名称,而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找到两个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数组的基本切片和高级切片【代码】

我正在阅读有关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-如何根据内容从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数组以包含原始数组中值的逻辑块【代码】

我的Google Fu使我失败了! 我有一个numpy数组,如下所示:0 1 2 3------------------------ 0 | 100 110 120 130 1 | 140 150 160 170 2 | 180 190 200 210 3 | 220 230 240 250 4 | 260 270 280 290 5 | 300 310 320 330 6 | 340 350 360 370 7 | 380 390 400 410 8 | 420 430 440 450其形状为(9,4).我想将上面的数组重塑为以下(6,6)数组:0 1 2 ...

python-将numpy结构化数组子集转换为numpy数组而无需复制【代码】

假设我有以下numpy结构化数组:In [250]: x Out[250]: array([(22, 2, -1000000000, 2000), (22, 2, 400, 2000),(22, 2, 804846, 2000), (44, 2, 800, 4000), (55, 5, 900, 5000),(55, 5, 1000, 5000), (55, 5, 8900, 5000), (55, 5, 11400, 5000),(33, 3, 14500, 3000), (33, 3, 40550, 3000), (33, 3, 40990, 3000),(33, 3, 44400, 3000)], dtype=[('f1', '<i4'), ('f2', '<f4'), ('f3', '<f4'), ('f4', '<i4')])我正在尝试将上...

python-Pandas / Numpy从数组列获取矩阵【代码】

我有一个带有列表列的pandas数据框. df:inputs 0 [1, 2, 3] 1 [4, 5, 6] 2 [7, 8, 9] 3 [10, 11, 12]我需要矩阵array([[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9],[10, 11, 12]])一个有效的方法来做到这一点? 注意:当我尝试df.inputs.as_matrix()时,输出为array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], dtype=object)形状为(4,),而不是所需的(4,3).解决方法:您可以将列转换为列表,然后应用numpy数组,如果列中的...

python-布尔numpy数组的子矩阵求和【代码】

我有一个1151布尔矩阵a.为此,我在Matlab中执行此操作以获得大小为1050的布尔矩阵.a = logical(a(1:end-1,1:end-1) + a(2:end,1:end-1) + a(1:end-1,2:end) + a(2:end,2:end))我想在python中做到这一点.我尝试了这个:a = np.zeros([11,51], dtype=bool) a=a[0:-2,0:-2] + a[1:-1,0:-2] + a[0:-2,1:-1] + a[1:-1,1:-1]我最终得到了949矩阵,但不确定它是否正在执行预期的操作. 有人可以指出错误吗?解决方法:使用slicing,它将是-a_ou...

python-根据2D numpy数组过滤3D numpy数组

我有一个形状为(3024,4032)的2D numpy数组. 我有一个形状为(3024、4032、3)的3D numpy数组. 2D numpy数组填充为0和1. 3D numpy数组填充了0到255之间的值. 通过查看2D数组值,我想更改3D数组中的值.如果2D数组中的值为0,我将沿最后一个轴将3D数组中的所有3个像素值更改为0.如果2D数组中的值为1,则不会更改. 我已经检查了How to filter a numpy array with another array’s values这个问题,但它适用于2个具有相同尺寸的数组.就我而言...

PYTHON3 - 相关标签