<p>谢谢一堆sbaby171!我能把你的答案归纳成一个函数</p>
<pre><code>def range_find(lowx,highx,lowy,highy,xs,ys):
_xs = []; _ys = [];
i = 0
while (i < len(xs)):
j = 0
while (j < len(ys)):
if (lowx < xs[i] < highx) and (lowy < ys[j] < highy):
_xs.append(xs[i]); _ys.append(ys[j]);
j += 1
i += 1
xmean = np.mean(np.asarray(_xs))
ymean = np.mean(np.asarray(_ys))
return xmean, ymean
def make_grid(x,y,n):
xsort = np.sort(x)
ysort = np.sort(y)
splitx = np.split(xsort, n)
splity = np.split(ysort, n)
lowx = np.zeros(n)
lowy = np.zeros(n)
highx = np.zeros(n)
highy = np.zeros(n)
for k in range (0,n):
lowx[k] = np.nanmin(splitx[k])
lowy[k] = np.nanmin(splity[k])
highx[k] = np.nanmax(splitx[k])
highy[k] = np.nanmax(splity[k])
return lowx, highx, lowy, highy
def get_GridPoints(x,y,n):
lowx,highx,lowy,highy = make_grid(x,y,n)
xms = []
yms = []
print(lowx)
print(highx)
print(lowy)
print(highy)
for w in range(0,n):
for t in range(0,n):
xn,yn = range_find(lowx[w],highx[w],lowy[t],highy[t], x, y)
xms.append(xn)
yms.append(yn)
return np.array(xms), np.array(yms)
</code></pre>
<p>最后,我的代码返回了:<a href="https://i.imgur.com/mhazN9C.png" rel="nofollow noreferrer">https://i.imgur.com/mhazN9C.png</a></p>