• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python基础:numpy中空值怎样设置

python 搞java代码 3年前 (2022-05-21) 35次浏览 已收录 0个评论

今天小编为大家带来在numpy中如何设置空值的办法,下面一起来看看吧。

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

所有阵列均为71x71x166

<p style="line-height: 1.75em"><span>a = <a href="https://www.gaodaima.com/tag/np" title="查看更多关于np的文章" target="_blank">np</a>.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])<br></span></p>

www#gaodaima.com来源gao@!dai!ma.com搞$$代^@码!网搞代码

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

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

考虑这个例子:

<p style="line-height: 1.75em"><span>import numpy as np
data = np.random.random((4,3))
mask = np.random.random_integers(0,1,(4,3))
data[mask==0] = np.NaN<br></span></p>

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

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

<p style="line-height: 1.75em"><span>c[b!=1] = np.NaN<br></span></p>

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

<p style="line-height: 1.75em"><span>a = np.copy(c)
a[b!=1] == np.NaN<br></span></p>

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

<p style="line-height: 1.75em"><span>np.mean(c[b==1])<br></span></p>

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

<p style="line-height: 1.75em"><span>a = np.empty(c.shape)
a[b==0] = np.NaN
for bin in bins:
    a[b==bin] = np.mean(c[b==bin])<br></span></p>

学会的小伙伴一定要勤加练习哦~更多Python学习推荐:云海天Python教程网

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python基础:numpy中空值怎样设置
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址