【python – 根据值的唯一性删除numpy数组的行】教程文章相关的互联网学习教程文章

python – 在块矩阵中排列numpy数组【代码】

我有3个numpy数组A,B和C.为简单起见,我们假设它们都是形状[n,n].我想将它们安排为块矩阵A B B^t C其中B ^ t表示B的转置.当然,我可以通过一系列连接来做到这一点top_row = np.concatenate([A, B], axis=1) bottom_row = np.concatenate([B.transpose(), C], axis=1) result = np.concatenate([top_row, bottom_row], axis=0)有更简单,更易读的方式吗?解决方法:从NumPy 1.13开始,有np.block.这是从嵌套的块列表构建矩阵,但它也更...

将Python列表转换为Numpy数组InPlace【代码】

我有一个巨大的python列表(16 GB),我想将它转换为numpy数组,inplace.我承担不起这个说法huge_array = np.array(huge_list).astype(np.float16)我正在寻找一些有效的方法将这个huge_list转换为numpy数组,而不是复制它. 有谁能建议一个有效的方法来做到这一点?这可能涉及首先将列表保存到磁盘然后加载为numpy数组,我很好. 我非常感谢任何帮助. 编辑1:huge_list是一个内存python列表,它是在运行时创建的,所以它已经占用了16GB.我需要...

python – 检查2d numpy数组中的nan【代码】

我正在研究一小段代码,它以我预先制作的插值曲面开始.插值用nan表示填充在表面的间隙中.我的部分处理涉及查看特定点周围的局部窗口,并使用局部曲面计算一些度量.理想情况下,如果整个局部表面不包含nan值,我希望这个代码只能进行任何计算.代码遍历原始大表面并检查关于点的局部窗口是否具有nan. 我知道这不是最有效的方法,时间效率不是我必须担心的事情. 这是我到目前为止:for in in range(startz,endx):imin = i - half_tileimax ...

python – 用于确定numpy数组的2个(垂直或水平)相邻元素是否具有相同值的最快方法【代码】

我正在寻找确定2(垂直或水平)相邻元素是否具有相同值的最快方法. 假设我有一个大小为44的numpy数组.array([ [8, 7, 4, 3], [8, 4, 0, 4], [3, 2, 2, 1], [9, 8, 7, 6]])我希望能够识别出第一列中有两个相邻的8,并且第三行中有两个相邻的2.我可以硬编码支票,但那会很难看,我想知道是否有更快的方法. 所有指导表示赞赏.谢谢.解决方法:我们将在行和列中寻找区分值,以便在那里用零来表示重复...

python – 跳过numpy数组的一个维度中的值【代码】

我有一个numpy数组,其形状为(72,671).通常我会在第一维中选择所有内容,如下所示:new_var = old_var[0:72]但是,对于一个文件,我需要在第一维上跳过#18.换句话说,我想选择0:17然后选择19:72(或者你可以根据/不包括的内容正确地写出来).我试过了:new_var=old_var[0:18,19:72]但这只在第一维中选择0:18,然后在第二维中选择19:72.至少这是我认为它正在做的,因为结果变量的长度是18.我找不到如何纠正语法,所以任何帮助将不胜感激.解决方...

python – Long NumPy数组无法完全打印?【代码】

我正在尝试打印两个10011数组的完整内容,但Python只给出截断输出,如下所示:array([[5,45],[1,23],......,[1,24],[2,31]]) 而不是完整的数组. 任何人都可以给我解决方案如何获得完整的10011阵列?解决方法:我猜你试过一个简单的声明,如:print myarray…而不是更明确的东西:for each_item in myarray:print each_item… 甚至:print ', '.join([str(x) for x in myarray])您看到elided输出的原因可能是因为numpy在其数组类中实现...

python – numpy数组映射并取平均值【代码】

我有三个阵列import numpy as np value = np.array ([1, 3, 3, 5, 5, 7, 3]) index = np.array ([1, 1, 3, 3, 6, 6, 6]) data = np.array ([1, 2, 3, 4, 5, 6])数组“索引”& “值”具有相同的大小,我想通过取平均值将项目分组为“值”.例如:对于前两个项目[1,3,… in“value”,在“index”中具有相同的键1,因此对于最终数组,该值是第一个和第一个的平均值.第2项价值:(1 3)/ 2等于2 最后一个数组是:[2, nan, 4, nan, nan, 5]第...

python – 堆叠numpy数组?【代码】

我试图水平堆栈数组,使用numpy hstack,但无法让它工作.相反,它全部出现在一个列表中,而不是“矩阵式”2D阵列.import numpy as np y = np.array([0,2,-6,4,1]) y_bool = y > 0 y_bool = [1 if l == True else 0 for l in y_bool] #convert to decimals for classification y_range = range(0,len(y)) print y print y_bool print y_range print np.hstack((y,y_bool,y_range))打印这个:[ 0 2 -6 4 1] [0, 1, 0, 1, 1] [0, 1, 2,...

python – 选择性Numpy数组操作(取决于值)【代码】

假设我有以下Numpy数组:array([[3, 5, 0], [7, 0, 2]])我现在想要添加2,其中值不是0.最快的方法是什么?我必须操纵相当大的多维数组?解决方法:在我看来,这:a[a!=0] += 2应该管用. (对于非零测试的有限情况),您可能能够加快速度(您需要及时查看):mask = a.astype(bool) a[mask] += 2当然,如果你可以在不同的位置重复使用相同的掩码,你可以节省掩码计算(这是一个非常严格的约束):mask = a != 0 a[mask] += 2 #some more code .....

Numpy数组和python属性【代码】

我想在每次设置时对numpy数组的内容执行检查.可以使用python属性吗?我的方法:import numpy as npclass Obj(): def __init__(self): self._np_arr = None @property ...

python – 从numpy.argmax结果中提取numpy数组切片【代码】

我有一个(3,3)numpy数组,想要找出绝对元素的符号值最大值:X = [[-2.1, 2, 3],[ 1, -6.1, 5],[ 0, 1, 1]]s = numpy.argmax(numpy.abs(X),axis=0) 给出了我需要的元素的索引,s = [0,1,1]. 我怎样才能使用这个数组来提取元素[-2.1,-6.1,5]来找出它们的符号?解决方法:试试这个:# You might need to do this to get X as an ndarray (for example if X is a list) X = numpy.asarray(X)# Then you can simply do X[s, [0, 1, 2]...

python – 具有mpz / mpfr值的numpy数组【代码】

我希望有一个mpz / mpfr值的numpy数组.因为我的代码:import numpy as np import gmpy2 A=np.ones((5,5)); print A/gmpy2.mpfr(1);产生:RuntimeWarning: invalid value encountered in divideprint A/gmpy2.mpfr(1); [[1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0]]据我所知,将gmpy mpfr转换为numpy float64是不可能的.那么我怎么能首先得到一个带有mpfr值的numpy...

python – 在numpy数组中查找负值和正值【代码】

我有一个numpy数组包含m / s风速数据.负值和正值都有.现在我需要计算风速的平均数量超过负值,并对正值进行相同的计算.这可能吗 ?数据保留在数组中非常重要.我曾尝试使用numpy.average,但没有成功,因为他将整个数组的平均值都作为正值和负值. 谢谢!解决方法:关于numpy的好处是你可以写下这样的东西:negavg = numpy.mean(windspeed[windspeed < 0.0])posavg = numpy.mean(windspeed[windspeed > 0.0])

python – 将行添加到空的2D NumPy数组中【代码】

我想从一个空的2D NumPy数组开始,然后添加一些行.但是,到目前为止,我只能用一维数组做到这一点.这是我到目前为止所尝试的:a = numpy.array([]) a = numpy.append(a, [1, 2]) a = numpy.append(a, [8, 8]) print a我得到的输出是:[1, 2, 8, 8]而我希望输出为:[[1, 2], [8, 8]]我怎样才能做到这一点?解决方法:试试这个:>>> a = numpy.empty((0,2),int) >>> a = numpy.append(a, [[1, 2]], axis=0) >>> a = numpy.append(a, [[8,...

python – Numpy数组错误或功能(在幕后捕捉到int)?【代码】

今天我注意到了Numpy / Scipy数组的奇怪行为.看起来像在float中添加带整数的数组单元格可能有两种不同的结果,具体取决于分配结果的变量.而不是长篇解释,下面我提出代码:import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 print array_int[0, 0] + float_operand #gives 0.1但import scipy as sp array_int = sp.array([[0], [0]]) float_operand = 0.1 array_int[0, 0] = array_int[0, 0] + float_operan...