J'ai un fichier ou un dataframe comme ci-dessous contenant le nom de la ville, la latitude et la longitude.
city.head(4)
City Latitude Longitude
Seattle 47.620422 122.349358
Dubai 25.276987 55.296249
Mexico 19.432608 99.1332
Tokyo 35.652832 139.839478
Je veux transmettre toute la lattitude et la longitude du dataframe de la ville à une API et obtenir les résultats correspondants. Actuellement, je suis capable de passer en fournissant une alimentation lat et longtemps comme entrée aux parmes.
Comment puis-je automatiser l'ensemble des étapes. Lat et Long doivent être passés dans les paramètres dans ce format lat: long **** (les 3 premiers points décimaux doivent être extraits de la trame de données de la ville)
import requests
headers = {
'Authorization': 'Api-Key ',
}
params = (
('coords', '49.910:10.920, 47.620:122:349'),
)
response = requests.get('https://api.example.com/we/v12/forecasts', headers=headers, params=params)
Exemple de sortie de l'API
'{"results":[{"place":{"type":"locode","value":"PLWRO"},"measures":[{"ts":1572177600000,"t2m":19.6,"t_min":12.16,"t_max":20.59,"wspd":26,"dir":"W","wgust":37,"rh2m":44,"prsmsl":1015,"skcover":"clear","precip":0.0,"snowd":0,"thunderstorm":"N","fog":"L"}]},{"place":{"type":"locode","value":"DEHAM"},"measures":[{"ts":1572177600000,"t2m":10.49,"t_min":8.18,"t_max":10.6,"wspd":21,"dir":"W","wgust":39,"rh2m":69,"prsmsl":1016,"skcover":"partly_cloudy","precip":0.0,"snowd":0,"thunderstorm":"N","fog":"L"}]}]}'
Comment cela peut-il être fait.
Arrondissez les colonnes flottantes à la 3e décimale, puis convertissez-les en chaîne. Combinez les colonnes nécessaires. Itérez la colonne et envoyez les données à l'API.
>>> df = df.round(3).astype(str)
>>> df
City Latitude Longitude
0 Seattle 47.62 122.349
1 Dubai 25.277 55.296
2 Mexico 19.433 99.133
3 Tokyo 35.653 139.839
>>> df['LatLong'] = df.Latitude.add(':') + df.Longitude
>>> df
City Latitude Longitude LatLong
0 Seattle 47.62 122.349 47.62:122.349
1 Dubai 25.277 55.296 25.277:55.296
2 Mexico 19.433 99.133 19.433:99.133
3 Tokyo 35.653 139.839 35.653:139.839
>>> df.LatLong.str.cat(sep=', ')
'47.62:122.349, 25.277:55.296, 19.433:99.133, 35.653:139.839'
Bon mot
>>> df.Longitude.str.cat(df.Latitude, sep=':').str.cat(sep=', ')
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots