对 pandas 数据帧每一行的坐标进行计算
Posted
技术标签:
【中文标题】对 pandas 数据帧每一行的坐标进行计算【英文标题】:Carry out computation for coordinates in each row of pandas dataframe 【发布时间】:2020-04-03 09:48:43 【问题描述】:我有一个带有坐标(纬度(Lat)、经度(Lon))和地点名称的熊猫数据框(df)。 我想提取满足以下条件的特定条目
acos(sin(1.3963) * sin(Lat) + cos(1.3963) * cos(Lat) * cos(Lon - (-0.6981))) <= 0.1570;
如何使用 df.loc 计算?
附上我的 df.head() 截图
【问题讨论】:
纬度和经度是否在不同的列中?如果您在问题中发布数据框会很有帮助 ***.com/help/minimal-reproducible-example? @RyoheiNamiki 我编辑了我的问题以包含数据框的一些条目。谢谢 我认为你应该更加明确。将结果分配给一个变量,然后您可以轻松地使用 loc 通过匹配所述变量来匹配行,使用 loc 速度很快,这样您就更明确了。 【参考方案1】:试试这个
df[np.arccos(np.sin(1.3963) * np.sin(df["lat"]) + np.cos(1.3963) * np.cos(df["lat"]) * np.cos(df["long"] - (-0.6981))) <= 0.1570]
【讨论】:
以上是关于对 pandas 数据帧每一行的坐标进行计算的主要内容,如果未能解决你的问题,请参考以下文章