我有一个csv文件,如下所示:
Type Mag ra dec
3 24.6 223.2 50.833
6 24.5 223.19 50.834
每列超过500个值。我想寻找一个特定的值和任何接近它的东西。 ra的值为223.2516,dec的值为58.0538。转换了这些值,它们在csv数据文件中可能不完全相同。因此,我想要任何与我正在寻找的价值观接近的东西。如果我正在寻找223.2516,那么任何至少有223.25的东西都应该出来,这样我可以比较哪一个是最接近的。
我现在所要做的就是让python进行搜索,即
223.2516 in [row[2] for row in data]
但这只会返回true,这个确切的值可能存在,也可能不存在。就像我说的那样,我希望所有与前5个数字接近的值:" 223.25"。
我尝试在223.25之后添加一个星号
223.2 * in [row[2] for row in data]
但我得到的只是
File "<ipython-input-16-d185380219a6>", line 1
223.2 * in [row[2] for row in data]
^
SyntaxError: invalid syntax
这里是整个代码:
import numpy
from matplotlib import *
from pylab import *
data = np.genfromtxt('result.csv',delimiter=',',skip_header=1, dtype=float)
223.2516 in [row[2] for row in data]
要找到的值显然是通过用户输入,我还没有添加该部分。任何帮助表示赞赏
答案 0 :(得分:0)
arr = r_[1:10]
[a for a in arr if abs(a-5) < 2 ]
例如,这导致[4,5,6]。