在python中计算浮点平方根
下面是一段python代码,我试图根据平方根公式计算风:在python中计算浮点平方根,python,arrays,csv,math,Python,Arrays,Csv,Math,下面是一段python代码,我试图根据平方根公式计算风: import numpy as np import sys import math data = np.loadtxt(array.csv, dtype='str',delimiter=',', skiprows=1, usecols=(0,1)) u = data[:,6].astype(float) v = data[:,7].astype(float) wind=np.array([]) for
import numpy as np
import sys
import math
data = np.loadtxt(array.csv, dtype='str',delimiter=',', skiprows=1, usecols=(0,1))
u = data[:,6].astype(float)
v = data[:,7].astype(float)
wind=np.array([])
for t in range(0,3):
winds=float(math.sqrt((float(u[t])*float(u[t]))+ (float(v[t])*float(v[t]))))
wind = np.append(wind,float(winds))
print "u is ",u[t]," v is ",v[t]," wind is ",float(winds)
csv文件如下所示:
0.9999,0.333
0.9566,0.13
0.9999,0.053
现在由于某种原因,我试图在上面的代码中计算winds的值,结果只有1
当我在代码中定义数组u和v时,如下所示:
u[0]=0.9999
u[1]=0.9566
u[2]=0.9999
v[0]=0.333
v[1]=0.13
v[2]=0.053
我得到风的浮动值。
当从csv文件导出u和v时,如何调整上述代码,以便在上述代码中获得风的浮点值?我最终将使用的csv文件总共有40个u和v值。您不需要所有的浮点调用。math.sqrt将始终返回浮点!如果使用NumPy,当然不需要执行显式循环:
但是使用numpy时,必须注意数组的数据类型。如果使用的是整数数组,则numpy会将要保存的数组转换为数组的数据类型。例如,1.1->1您的代码有一个SyntaxError缩进错误:第2行出现意外缩进。不要在你的问题中增加更多的部分,而要特别关注最小的问题。这就要求你找到一个没有达到预期效果的步骤,请包括你期望的和你得到的!
import numpy as np
u = np.array([0.9999, 0.9566, 0.9999])
v = np.array([0.333, 0.13, 0.053])
wind = np.hypot(u, v) # equivalent to "sqrt(u**2 + v**2)"
wind # array([ 1.05389231, 0.96539296, 1.00130366])