2016-08-19 2 views
0

J'essaie de prendre un tableau numérique existant et d'appliquer une formule à chaque cellule du tableau. J'ai le code ci-dessous, mais il renvoie l'erreur suivante. Traceback (dernier appel en dernier): Fichier "C: \ gTemp \ Text-1.py", ligne 5, en myarray = 0.1236 * math.tan (myarray/2842.5 + 1.1863) TypeError: only length-1 tableaux peuvent être convertis en scalaires PythonComment appliquer une formule à chaque cellule d'un tableau numpy

Je suis nouveau à numpy et je suis à la recherche de conseils appropriés au niveau de compétence. Voici mon code existant.

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" 

Répondre

2

Au lieu de math.tan(), utilisez numpy.tan(). Les fonctions numpy sont conçues pour fonctionner de manière élémentaire sur des tableaux numpy.

+0

Cela a fonctionné! J'apprécie vos conseils et vos efforts, Warren. – GBG