Возьмите данные из фрейма данных и передайте методу для его функции и верните другой фрейм данных с новым столбцом - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть датафрейм, как показано ниже:

enter image description here

Я хотел бы передать каждую строку в функцию и вернуть новый фрейм данных с дополнительнымстолбец с именем «километр».

Мои данные называются «поезд».

from math import sin, cos, sqrt, atan2, radians

def find_distance(train):
    # approximate radius of earth in km
    R = 6373.0

    lat1 = radians(lat1)
    lon1 = radians(lon1)
    lat2 = radians(lat2)
    lon2 = radians(lon2)

    dlon = lon2 - lon1
    dlat = lat2 - lat1

    a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
    c = 2 * atan2(sqrt(a), sqrt(1 - a))

    distance = R * c
    return distance

Как получить другой кадр данных с «Километром», который является возвращаемым значением расстояния?

Я могу загрузить любую серию, например train.pickup_longitude.

1 Ответ

0 голосов
/ 15 апреля 2019

Используйте .apply ()

train['kilometer'] = train.apply(find_distance,axis=1)

Вам нужно будет выровнять имена столбцов и имена функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...