Я довольно новичок в 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()
, но это, кажется, неправильный способ сделать это. Пожалуйста, помогите мне с этим. Спасибо.