功能问题 - 真值是不明确的

问题描述 投票:0回答:1

我正在构建一个函数来计算起始纬度和经度之间的距离,以及停止纬度和经度。我做了一个变量,它工作正常,但是当我创建一个函数时,我收到了消息;

'系列的真实价值是模棱两可的。使用a.empty,a.bool(),a.item(),a.any()或a.all()。','发生在索引0'

以下是我的功能。任何帮助将不胜感激! (注意,使用的列没有空值,并且都是float64。订单是正在使用的数据帧。)。

def distance_calc (row):
    start = (orders['start_lat'], orders['start_lon'])
    stop = (orders['stop_lat'], orders['stop_lon'])

    return great_circle(start,stop).meters

orders['distance'] = orders.apply(lambda orders: distance_calc (orders), axis=1)
python-3.x pandas function
1个回答
0
投票

需要选择Series称为row而不是orders

def distance_calc (row):
    start = (row['start_lat'], row['start_lon'])
    stop = (row['stop_lat'], row['stop_lon'])

    return great_circle(start,stop).meters

#lambda is not necessary
orders['distance'] = orders.apply(distance_calc, axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.