Берет данные из фрейма данных и передает методу для его функции и возвращает другой фрейм данных с новым столбцом

#python #dataframe

#python #фрейм данных

Вопрос:

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

введите описание изображения здесь

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

Мое имя данных — «поезд».

 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:

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

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

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