如何根据周围值消除行

时间:2017-08-22 23:07:08

标签: python multiple-columns

我对编码很陌生,而且我无法为我的问题找到解决方案。目前,我有一个分析照片的程序,以找到点网格的质心值(~50)。通常,代码会获取一些实际上不是点的额外数据点。

正如我原先所说,这些点位于物理网格上,有几个像素的误差(即同一行或列中任何两个给定的质心可能相差10个像素)。行和列分开大约200个像素。

相机可以稍微移动,所以我无法准确地告诉程序点的位置。

我想要的东西基本上就是......

(where xi and yi are the centroids of the ith dot)

Assume 0th point (smallest x and y) is on the grid.  

for 1-n

if [10 < xi - x(i-1) < 190] and [10 < yi - y(i-1) < 190] 

then delete i

else keep i.

我尝试过类似的事情:

all_data = [ column for column in all_data if not (30  <= all_data[j , 0] -
 all_data[j+1, 0] <= 200) and  (30  <= all_data[j , 1] - all_data[j+1, 1] <= 200)]   

但我有两个问题。首先,我不知道如何假设第一个点已经在数据集中。第二,如果我找到了错误点,我不确定(因为第一个问题我不能让它运行)如果这将在查看时使用错误点作为j-1值第j个值在网格上(这会导致该值也被视为错误。

0 个答案:

没有答案
相关问题