2016-12-04 3 views
2

Итак, у меня есть массив точек данных 1000X2.Сопоставление массива 2d с сеткой пользовательского измерения в python

=====DATA===== 

     X, Y 
    1. 1, 20.5 
    2. 3.5,40.1 
    . . , . 
    . . , . 
1000. . , . 

Когда нанесены координаты Х диапазоны между (от 0 до 10) & Y координат диапазоны между (от 0 до 120).

Я хочу создать сетку, которая равна 10/.1 = 100 на X и 120/.1 = 1200 на Y (таким образом, размер сетки = 100X1200). Эта сетка будет иметь ячейки размера .1X.1. Я хочу прочитать все элементы DATA и заполнить соответствующую ячейку сетки.

Так, например, ячейка x (.8-.9); y (1.2-1.3) будет иметь строку из DATA, которая попадает в этот диапазон. Но если две/несколько строк из DATA принадлежат к этой ячейке того среднему значению всех таких строк будут принято, чтобы заполнить ячейку

cellx,celly= avg(x),avg(y) if multiple points 
+1

Посмотрите на scipy's [griddata] (https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.griddata.html), это может помочь. –

+0

@ImanolLuengo будет griddata заботиться о нескольких точках, попадающих в ячейку сетки? – vinita

+1

До тех пор, пока вы не выберете интерполяцию 'ближайшая' (которая будет учитывать только ближайшую точку). 'linear' или' cub' должны интерполировать между теми, которые попадают в одну и ту же точку сетки. –

ответ

Смежные вопросы