gpt4 book ai didi

python - python中数据帧的列的函数计算结果

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:01 25 4
gpt4 key购买 nike

我正在Python中的一个数据帧上工作,以计算某个位置与数据帧中的LATITUDELONGITUDE列之间的距离。当我运行下面的代码时,没有错误:

lLat= 43.679194
lLon= -79.633352
LCentroid= (lLat, lLon)
# getDistanceBetween gets two centroids and calculate the distance
dfTowers['distance']= HL.getDistanceBetween(LCentroid, dfTowers.index.get_level_values('LATITUDE')[0], dfTowers.index.get_level_values('LONGITUDE')[0]))

但是当我使用下面的时,出现错误

lLat= 43.679194
lLon= -79.633352
LCentroid= (lLat, lLon)

dfTowers['distance']= HL.getDistanceBetween(LCentroid, dfTowers.index.get_level_values('LATITUDE'), dfTowers.index.get_level_values('LONGITUDE')))

错误是:

TypeError                                 Traceback (most recent call last)
<ipython-input-43-065640ee0e20> in <module>()
5
6 dfTowers['distance']= HL.getDistanceBetween(LCentroid, (dfTowers.index.get_level_values('LATITUDE'),
----> 7 dfTowers.index.get_level_values('LONGITUDE')))

C:\Users\x190523\Documents\python exercice\HomeLocation.pyc in getDistanceBetween(c1, c2)

TypeError: a float is required

最佳答案

因为get_level_values返回标签的“向量”。在第一个示例中,您访问向量并适本地检索值。在第二个示例中,您传递了整个向量,而 getDistanceBetween 不知道如何处理它。

编辑:现在要计算所有行,我们不需要上面的任何语法

# add the new column, initialized to NaN
dfTowers['distance'] = np.nan
for row_name, row in dfTowers.iterrows():
row['distance'] = HL.getDistanceBetween(LCentroid, row['LATITUDE'], row['LONGITUDE'])

关于python - python中数据帧的列的函数计算结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39687917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com