Ajouter une colonne distance avec Panda, calculée avec Geopy

Fermé
lolodeville - 23 mars 2023 à 11:32
yg_be Messages postés 23435 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 janvier 2025 - 23 mars 2023 à 11:55

Bonjour,

J'arrive a calculer une distance en km avec Geopy mais quand les latitudes et longitudes sont en dur dans le code.

Je souhaite traiter un fichier CSV et je démarre avec un fichier test1.csv de 4 lignes.

Voici mon code, mais il ne marche pas. Le calcul de la distance ne marche pas. Avez vous une idée ?

Merci pour votre aide.

Laurent

# importer le module Pandas et Geopy
import pandas as pd
from geopy import distance

#print(pd.__version__)

# Charger la base de données
df = pd.read_csv(r'test1.csv', sep = ';')

# Affecter les coordonnées de départ et arrivée
dep = (df['Lat'] , df['Long'])
arr = (df['Latref'] , df['Longref'])

# Calculer la distance
distance = distance.distance(dep, arr) .km

# Ajouter une colonne distance avec la distance calculée
df['Distance'] = distance

# Afficher lle tableau dans le Terminal
print (df)

Macintosh / Chrome 111.0.0.0

A voir également:

2 réponses

yg_be Messages postés 23435 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 janvier 2025 Ambassadeur 1 559
23 mars 2023 à 11:43

bonjour,

peux-tu partager ton fichier csv, ou un code que nous puissions tester?

0
yg_be Messages postés 23435 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 janvier 2025 Ambassadeur 1 559
23 mars 2023 à 11:55

peut-être:

df['Distance'] = df.apply(lambda r : distance.distance((r['Lat'],r['Long']),
       (r['Latref'],r['Longref'])).km, axis = 1)
0