Проблема с функцией - значение истины неоднозначно - PullRequest
0 голосов
/ 30 августа 2018

Я строю функцию для вычисления расстояния между начальной широтой и долготой, против конечной широты и долготы. Я сделал одну переменную, и она работала нормально, но когда я создаю функцию, я получаю сообщение;

'Истинная ценность Серии неоднозначна. Используйте a.empty, a.bool (), a.item (), a.any () или a.all (). ',' произошли с индексом 0 '

Ниже моя функция. Любая помощь будет принята с благодарностью! (примечания к этому, используемые столбцы не имеют нулевых значений и являются float64. Orders - это используемый фрейм данных.).

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)

1 Ответ

0 голосов
/ 30 августа 2018

Нужно выбрать 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...