使用底图函数检查结果时如何迭代 pandas 数据框
How to iterate over a pandas data frame when using the basemap function to check the result
我正在尝试编写 apython 脚本,它将对 long/lat 值进行几何变换,即旋转。但是,我希望结果 long/lat 保留位置,例如,如果原始坐标在陆地上,我希望旋转后的坐标也在陆地上。因此,我使用了basemap
我编写了以下脚本并且运行良好,直到我尝试添加一个 while 循环。我添加 while 循环的 objective 是将原始值与旋转后的值进行比较,如果它们不匹配,旋转角度将改变直到它们匹配。我将在不先添加 while 循环的情况下展示我的概念:
def rotation(dfc):
# Rotation
choose a rotation angle that will match the location of the rotated
coordinates, and set the result to 1 if they match
while row['result']=0
choose another rotation angle
do the rotation again
check the result of the rotated points
if still they dont match stay in the loop and choose another alpha
if not break and go to the next row
我知道它需要简单的步骤,但我无法弄清楚如何在数据框中为行式函数添加循环
其实不用df.iterrows也可以解决这个问题。
我刚刚发起一个变量等于0,然后添加了一个while循环。所以我的伪代码看起来像:
counter=0
while counter != len(df['col1'])
choose new random variable
do the calculation using dfc.apply()
re-calculate counter
我正在尝试编写 apython 脚本,它将对 long/lat 值进行几何变换,即旋转。但是,我希望结果 long/lat 保留位置,例如,如果原始坐标在陆地上,我希望旋转后的坐标也在陆地上。因此,我使用了basemap 我编写了以下脚本并且运行良好,直到我尝试添加一个 while 循环。我添加 while 循环的 objective 是将原始值与旋转后的值进行比较,如果它们不匹配,旋转角度将改变直到它们匹配。我将在不先添加 while 循环的情况下展示我的概念:
def rotation(dfc):
# Rotation
choose a rotation angle that will match the location of the rotated
coordinates, and set the result to 1 if they match
while row['result']=0
choose another rotation angle
do the rotation again
check the result of the rotated points
if still they dont match stay in the loop and choose another alpha
if not break and go to the next row
我知道它需要简单的步骤,但我无法弄清楚如何在数据框中为行式函数添加循环
其实不用df.iterrows也可以解决这个问题。
我刚刚发起一个变量等于0,然后添加了一个while循环。所以我的伪代码看起来像:
counter=0
while counter != len(df['col1'])
choose new random variable
do the calculation using dfc.apply()
re-calculate counter