基于相同形状的另一个阵列的条件更改该阵列的值

2024-05-14 12:38:29 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有两条路要走 一个包含ndvi值,另一个包含温度

条件是对于所有温度高于25%的像素,其ndvi值必须改为np.nan

因此,我目前正在使用: 温度[temp>;T_25]=np.nan(仅将temp设置为nan) 我只需要在上面寻找指数,并适用于ndvi

我试着把它展平并使用np.where(temp[temp>;但它似乎只是给了我一个空数组

变平前温度变化75%后的样子:

[[      nan       nan       nan ...       nan       nan       nan]
 [      nan       nan 229.3249  ...       nan       nan       nan]
 [229.35771 229.32663 229.28688 ...       nan       nan       nan]
 ...
 [229.09474 229.14499 229.17618 ...       nan       nan       nan]
 [229.1779  229.27306 229.27135 ...       nan       nan       nan]
 [229.30244       nan 229.33873 ...       nan       nan       nan]]

假设我想让那些nan进入ndvi。。。形状为(600400)

谢谢你看这个。 任何帮助都将不胜感激


Tags: gtnp像素数组nan指数温度where
1条回答
网友
1楼 · 发布于 2024-05-14 12:38:29

你的台词temp[temp > T_25] = np.nan几乎是正确的。您只需将索引的数组更改为ndvi

ndvi[temp > T_25] = np.nan

你应该做你想做的

也可以将T_25的计算折叠到同一行(假设T_25temp中值的第25个百分位),如下所示:

ndvi[temp > np.percentile(temp, 25)] = np.nan

相关问题 更多 >

    热门问题