-1

我试图仅在大陆上绘制数据。我之前问过一个关于这个的问题,我在这里得到了答案。现在,当我在代码中实现它时,程序将运行而不会出现错误。

但是,它永远运行。当我使用ctrl + C强制停止它时,它会追溯到"if not (map.is_land(X[i], Y[i])):",所以我认为这里有问题。但我无法弄清楚。

这是涉及挑选非大陆数据并删除它们的代码部分:

X, Y = map(Lon,Lat)
ocean = []
for i in range(len(X)):
    if not (map.is_land(X[i], Y[i])):
        ocean.append(i)

X_new = np.delete(X, ocean)
Y_new = np.delete(Y, ocean)
HDO_new = np.delete(HDO, ocean)
4

1 回答 1

1

由于您使用for循环,因此程序无论如何都应该停止,唯一的问题是X. 我只能给两个建议:

1)尝试len(X)在输入for cicle之前打印出的值,看看有多大

2)如果您使用 python 2.x,请尝试使用xrange而不是range

还要记住,使用带有十万个元素的列表似乎很慢。如果可以的话,最终尝试使用更小的数据样本

于 2012-12-10T11:51:16.457 回答