在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

下面是一段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 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])