У меня есть фрейм данных, который имеет столбцы "host_id" "Широта" "Долгота". Для хостов с более чем двумя списками, каково среднее расстояние между их списками (с использованием долготы и широты). Широта и долгота имеют значения, такие как 55,95503, 54,9563 ..
listings = pd.read_csv("listings.csv")
f_listings = listings.groupby(listings['host_id']).filter(lambda x: len(x) > 2)
Я пытаюсь использовать https://pypi.org/project/haversine/ для расчета расстояния.
f_listings = f_listings.assign(lat_long=f_listings['latitude'].map(str)+','+f_listings['longitude'].map(str))
f_listings.groupby('host_id')['lat_long']#.apply(haversine)???
ТАК, я не знаю, как применить гиперсинус или любую другую функцию, которая вычисляла бы расстояние между lat_long, сгруппированным по одному host_id.
Возможно, мне придется использовать itertools.
g_listings= f_listings.groupby('host_id')['lat_long']
g_listings.head()
for combo in itertools.combinations(g_listings, 2):
print(combo)
Ожидаемые результаты должны быть:
host_id -------- averge_distance
123 -------------------- 10
124 -------------------- 12
и т. Д.