尽管值存在,但无法在数据框中搜索值
cannot search value in dataframe althought the value exists
我有一个包含位置数据的数据框。我知道某个位置存在一个值,我什至知道它的索引位置。当我使用索引位置进行搜索时,值会正确显示,但如果我使用其他列(纬度和经度)的组合进行搜索,则不会显示该值。
我附上下面的截图。
这里我知道 lat 31.92 和 lon 76.66 在索引 2656536 处。当我使用 lat 和 lon 进行子集化时,结果为空。结果应该是如图所示
PS 这只发生在某些值 (10%) 而不是全部
问题出在浮点数的精度上,所以我们需要使用numpy.isclose
:
df[(np.isclose(df.lat, 31.92)) & (np.isclose(df.lon, 76.66))]
我有一个包含位置数据的数据框。我知道某个位置存在一个值,我什至知道它的索引位置。当我使用索引位置进行搜索时,值会正确显示,但如果我使用其他列(纬度和经度)的组合进行搜索,则不会显示该值。
我附上下面的截图。
这里我知道 lat 31.92 和 lon 76.66 在索引 2656536 处。当我使用 lat 和 lon 进行子集化时,结果为空。结果应该是如图所示
PS 这只发生在某些值 (10%) 而不是全部
问题出在浮点数的精度上,所以我们需要使用numpy.isclose
:
df[(np.isclose(df.lat, 31.92)) & (np.isclose(df.lon, 76.66))]