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

在熊猫数据框中找到从点到行的欧几里得距离

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

在熊猫数据框中找到从点到行的欧几里得距离

使用向量化方法

In [5463]: (df[['lat', 'long']] - np.array(L1)).pow(2).sum(1).pow(0.5)Out[5463]:0     8.3691611    18.5238382    26.0667773    18.6323204    22.546096dtype: float64

也可以是

In [5468]: df['distance'] = df[['lat', 'long']].sub(np.array(L1)).pow(2).sum(1).pow(0.5)In [5469]: dfOut[5469]:   id     lat   long   distance0   1  12.654  15.50   8.3691611   2  14.364  25.51  18.5238382   3  17.636  32.53  26.0667773   5  12.334  25.84  18.6323204   9  32.224  15.74  22.546096

选项2 使用Numpy的内置

np.linalg.norm
矢量范数。

In [5473]: np.linalg.norm(df[['lat', 'long']].sub(np.array(L1)), axis=1)Out[5473]: array([  8.36916101,  18.52383805,  26.06677732,  18.63231966,   22.5460958 ])In [5485]: df['distance'] = np.linalg.norm(df[['lat', 'long']].sub(np.array(L1)), axis=1)


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

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

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