如何将公式应用于numpy数组的每个单元格

时间:2016-08-19 17:15:01

标签: python-2.7 numpy arcpy

我正在尝试使用现有的numpy数组并将公式应用于数组的每个单元格。我有下面的代码,但它返回以下错误。 Traceback(最近一次调用最后一次):   文件" C:\ gTemp \ Text-1.py",第5行,in     myarray = 0.1236 * math.tan(myarray / 2842.5 + 1.1863) TypeError:只能将length-1数组转换为Python标量

我是numpy的新手,我正在寻找适合技能水平的建议。这是我现有的代码。

import arcpy
import numpy
import math
myarray =  numpy.load(r"E:\depthtester2.npy")
myarray = 0.1236 * math.tan(myarray / 2842.5 + 1.1863)
myRaster = arcpy.NumPyArrayToRaster(myarray,arcpy.Point(0.0,0.0),1.0, 1.0, -99999.0 )
myRaster.save("E:\deptht")
print "done"

1 个答案:

答案 0 :(得分:2)

使用numpy.tan()而不是math.tan()。 numpy函数被设计为在numpy数组上按元素工作。