重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Python之numpy中空值如何设置-创新互联

这篇文章将为大家详细讲解有关Python之numpy中空值如何设置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册网站空间、营销软件、网站建设、秦安网站维护、网站推广。

我不明白为什么我会以0而不是不满足条件的空值或空值结尾... b是一个用0和1值填充的numpy数组,c是另一个完全填充的numpy数组。

所有阵列均为71x71x166

a = np.empty(((71,71,166))) d = np.empty(((71,71,166))) for indexes, value in np.ndenumerate(b):    i,j,k = indexes    a[i,j,k] = np.where(b[i,j,k] == 1, c[i,j,k], d[i,j,k])


我想最后得到一个数组,该数组仅具有满足条件的值,并且在其他任何地方都为空,而不会改变其形状。

要求澄清的全部澄清问题:我从一个带有形状的浮动填充数组开始(71,71,166)我根据应用于float数组的cutoff创建一个int数组,基本上创建了一些bin,大致标出了数组中的10个区域,其间有0个值我想要最终得到的是一个具有形状(71,71,166)的数组,其具有特定阵列方向的平均值(假设垂直方向,如果您将3D数组视为3D立方体)某个“bin” …所以我试图循环遍历“bins”b == 1,b == 2等,在满足条件的情况下对float进行采样但在其他地方为null,这样我就可以取平均值,然后在最后重新组合成一个数组循环….不确定我是否让自己明白了.我正在使用np.where并使用索引,因为当我尝试执行此操作时我仍然会遇到错误,尽管它感觉非常低效.

考虑这个例子:

import numpy as np data = np.random.random((4,3)) mask = np.random.random_integers(0,1,(4,3)) data[mask==0] = np.NaN


当掩码为0时,数据将设置为nan.当然,您可以使用任何类型的条件,或者对b中的不同值执行不同的操作.

要删除除特定bin之外的所有内容,请尝试以下操作:

c[b!=1] = np.NaN


因此,要复制特定bin中的所有内容:



a = np.copy(c) a[b!=1] == np.NaN


要获得bin中所有内容的平均值:

np.mean(c[b==1])


所以也许这可能会做你想要的(其中bin是bin值的列表):

a = np.empty(c.shape) a[b==0] = np.NaN for bin in bins:    a[b==bin] = np.mean(c[b==bin])


关于Python之numpy中空值如何设置就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享文章:Python之numpy中空值如何设置-创新互联
转载源于:http://cqcxhl.com/article/csshci.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP