Ребята Я только начал использовать python и выпустил с использованием фрейма данных pandas.Добавить вычисляемый столбец в dataframe
У меня есть dataframe в вышеуказанном формате. У меня есть функция для вычисления расстояния между местоположениями.
def Dist(lat1, lon1, lat2, lon2):
dlat = lat2 - lat1
dlon = lon2 - lon1
return dlat + dlon
Я хочу, чтобы создать новый столбец на dataframe для каждого расстояния от LAT1/lon1 до широты/долготы и LAT2/lon2 до широты/долготы. Я пробовал использовать следующий код, но получаю ошибку.
df['dist1'] = Dist(df['lat'], df['lon'], df['lat1'], df['lon1'])
df['dist2'] = Dist(df['lat'], df['lon'], df['lat2'], df['lon2'])
TypeError: cannot convert the series to <class 'float'>
Что мне здесь не хватает? Каким образом можно было бы вызвать функцию для каждой строки и добавить ее как значение для каждой ячейки в новом столбце?
Буду признателен за любую помощь.
Первая помощь Я предложу предложить вам прочитать [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). Это помогает вам вынести свой вопрос таким образом, чтобы люди, которые отвечали на вопросы, охотно отвечали на них. – piRSquared
@piRSquared согласован. И в этом случае важно, чтобы вы действительно использовали свою функцию, а не «возвращать что-то» –
@piRSquared спасибо за предложение. Функция здесь не так важна, вы можете просто вернуть 0, и вы все равно получите эту проблему. Однако вместо того, чтобы возвращать «что-то», я возвращаю некоторую реальную ценность сейчас. Моя проблема - когда я вызываю метод, вся серия передается функции. Прошу прощения, если мой вопрос не является полным или понятным. – Bikswan