Folium es una poderosa biblioteca de visualización de datos en Python que se creó principalmente para ayudar a las personas a visualizar datos geoespaciales. Con Folium, se puede crear un mapa de cualquier lugar del mundo siempre que se conozcan sus valores de latitud y longitud. Además, los mapas creados por Folium son de naturaleza interactiva, por lo que puede acercar y alejar el mapa después de renderizarlo, lo cual es una función muy útil. Folium se basa en los poderes de disputa de datos del ecosistema de Python y los poderes de mapeo de la biblioteca Leaflet.js. En Python, los datos se manipulan y luego se visualizan a través de folium en un mapa de folleto.
Instalación
Antes de que pueda usar Folium, es posible que deba instalarlo en el sistema usando cualquiera de los dos métodos a continuación.
$ pip install folium
o
$ conda install -c conda-forge folium
Trabajaremos con el conjunto de datos ICMR que tiene 7 columnas: laboratorio, dirección, código PIN, ciudad, estado, tipo, latitud y longitud. Usaremos el archivo ‘ICMRTestingLabsWithCoords.csv’ en el conjunto de datos. Para descargar el conjunto de datos, haga clic aquí .
Empezando
Importación de bibliotecas necesarias
import folium import pandas as pd
Importando conjunto de datos
df = pd.DataFrame(pd.read_csv(‘ICMRTestingLabsWithCoords.csv’))
Por enfocar la ventana solo en India. Pasamos las coordenadas de India junto con el zoom Parmenter a folium.Map().
phone_map = folium.Map(location = [20.5937, 78.9629], zoom_start=4.4)
Hacer el marcador
Para mostrar el nombre y el tipo de laboratorio, ya sea privado o del gobierno. Además, para pasar las coordenadas de los marcadores, escribiremos un código Python para ello.
locate = {} for i, j, k, l in zip(df['latitude'], df['longitude'], df['lab'], df['type']): temp=[] temp.extend((i, j)) locate['loc']=temp marker = folium.Marker(location = locate['loc'], popup = str(k)+' Type:'+str(l)) marker.add_to(phone_map)
Ejecutaremos un bucle for a través de 4 columnas ‘latitud’, ‘longitud’, ‘laboratorio y ‘tipo’. Primero, creamos una lista ‘temporal’ que contiene la latitud y la longitud de los laboratorios particulares a medida que los recorremos todos. Esta lista particular de latitud y longitud se pasa luego a un diccionario de localización. Ahora creamos un marcador llamando a ‘.Marker’ desde el folium y pasando el diccionario de localización a la ubicación y la ventana emergente toma el nombre del laboratorio y el tipo de laboratorio en formato de string. El tipo de marcador es ‘folium.map.Marker’. Finalmente llamamos a ‘.add_to’ fuera del marcador y pasamos el phone_map. Ahora que nuestros pines están listos, es hora de mostrar los pines trazados. Lo hacemos llamando a phone_map.
phone_map
Código completo:
Python3
import folium import pandas as pd phone_map = folium.Map(location=[20.5937, 78.9629], zoom_start=4.4) df = pd.DataFrame(pd.read_csv('ICMRTestingLabsWithCoords.csv')) locate = {} for i, j, k, l in zip(df['latitude'], df['longitude'], df['lab'], df['type']): temp = [] temp.extend((i, j)) locate['loc'] = temp marker = folium.Marker(location=locate['loc'], popup=str(k)+' Type:'+str(l)) marker.add_to(phone_map) phone_map
Producción:
Publicación traducida automáticamente
Artículo escrito por smarthardik10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA