python - 仅从数组中的大元素中减去 10000

标签 python arrays if-statement subtraction

我有一个名为“array”的数组,其大小为 (45, 41),其中应包含 (-200, 200) 范围内的值。但是,某些值已通过在其值上添加 10,000 来进行“标记”。我想通过以下方式取消标记这些元素:如果相关元素大于 8000,则减去 10000(如果大于 8000,则必须对其进行标记)。

所以本质上,在伪代码中,我希望:

for i in 1:45
    for j in 1:41
        if array[i,j] > 8000
            array[i,j] = array[i,j] - 10000

任何帮助将不胜感激,非常感谢!

编辑:这是我的完整代码:

#Read file
cubes=iris.load(pathfile)
print cubes
wind=cubes[0]
print wind

#Select the month
wind_cut = wind[11, :, :, 0]
array=wind_cut.data

print array.shape

for i in 1:45
    for j in 1:41
        if array[i,j] > 8000
            array[i,j] = array[i,j] - 10000

我得到的只是一个缩进错误。我是 python 和这个网站的新手,很抱歉我是个菜鸟。

最佳答案

如果您正在使用 numpy 数组,请尝试以下操作:

array[array>8000] -= 10000

关于python - 仅从数组中的大元素中减去 10000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26673224/

相关文章:

python - ExtJS 4.0 网格日期列和表单日期字段(浏览器时区问题)

c# - 将 'parent' 属性分配给一个变化的对象(名称存储在控件数组中)

javascript - 如何比较两条不同路径的点(点数组)

if-statement - 苹果脚本 "if contain"

python - python中word的所有同义词?

python - 在给定一组坐标的情况下计算曲线下的面积,而不知道函数

python - “PlayerStatsForm”对象没有属性 'username'

java - Java中如何将数组从一个对象传递到另一个对象?

删除向量的孤立元素

if-statement - 如果存在 C :\directory\goto a else goto b problems windows XP batch files