Нахождение расстояния по математической формуле между 2 точками, полученными из lo c, iloc - PullRequest
0 голосов
/ 12 марта 2020

Я довольно новичок в Python. В настоящее время я работаю над функцией для приведенных ниже примеров данных Пример файла данных

Позвольте мне объяснить, что я пытался сделать. Сначала я пытался узнать, какое максимальное значение для столбцов 'bush' и 'gore'. Затем я попытался найти строку, в которой встречается это максимальное значение. Затем, используя iloc, я попытался найти значение в столбцах lat, long для этих строк, а затем найти расстояние между ними, используя математическую формулу, которая совпадает с формулой для евклидова расстояния.

Вот мой код :

import pandas as pd
import math

def LatLonDistance(filename):
    data=pd.read_csv(filename, sep=',')
    x=data.bush.max() 
    y=data.gore.max()
#got max values from above code
    X=data.loc[data['bush'] == x]
    Y=data.loc[data['gore'] == y]
#got the rows which have those values from the above code
    k=[data.iloc[1][X.index.value()],data.iloc[2][X.index.value()]]
    j=[data.iloc[1][Y.index.value()],data.iloc[2][Y.index.value()]]
#I messed up here
    dists=math.sqrt(sum([(a - b) ** 2 for a, b in zip(k, j)]))
    return dists
LatLonDistance('demo.csv')

Но я думаю, что я перепутал строки, где я написал ilo c. Я не понял, как я могу получить значения строк, которые я использовал X.index.value(), но это, кажется, неправильный способ сделать это. Пожалуйста, помогите мне с этим. Спасибо.

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