栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何根据两个数据从一个数据帧到另一个数据找到最接近的匹配?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何根据两个数据从一个数据帧到另一个数据找到最接近的匹配?

假设您有一个

dist
要最小化的距离函数:

def dist(lat1, long1, lat2, long2):    return np.abs((lat1-lat2)+(long1-long2))

对于给定的位置,您可以找到最近的车站,如下所示:

lat = 39.463744long = -76.119411weather.apply(    lambda row: dist(lat, long, row['Latitude'], row['Longitude']),     axis=1)

这将计算到所有气象站的距离。使用

idxmin
您可以找到最近的电台名称:

distances = weather.apply(    lambda row: dist(lat, long, row['Latitude'], row['Longitude']),     axis=1)weather.loc[distances.idxmin(), 'StationName']

让我们将所有这些放到一个函数中:

def find_station(lat, long):    distances = weather.apply(        lambda row: dist(lat, long, row['Latitude'], row['Longitude']),         axis=1)    return weather.loc[distances.idxmin(), 'StationName']

现在,您可以通过将其应用于

locations
数据框来获取所有最近的测站:

locations.apply(    lambda row: find_station(row['Latitude'], row['Longitude']),     axis=1)

输出:

0         WALTHAM1         WALTHAM2    PORTST.LUCIE3         WALTHAM4    PORTST.LUCIE


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/668005.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号