In [2]:
#import
import pandas as pd
import numpy as np
import geocoder 
In [6]:
#read file
df = pd.read_csv("file_name.csv")
In [110]:
#drop all null values
file_name.dropna(inplace = True)
In [7]:
#inspect shape
file_name.shape
In [8]:
#inspect first and last rows
file_name.head()
file_name.tail()
In [113]:
#change column names
file_name.rename(columns={'NAME':'name', 'ZONA GEOGRAFICA':'Ciudad'}, inplace = True)
In [9]:
#further inspect particular field
file_name["field"].value_counts()
In [73]:
#prepare fields for geocoding
argentina["Ciudad"]= argentina["Ciudad"].str.replace('Buenos Aires ', "Buenos Aires, Argentina", case = False)
In [122]:
#further inspect particular field
file_name["Ciudad"].value_counts().index
Out[122]:
Index(['Buenos Aires, Argentina', 'Santiago del Estero, Argentina',
       'Córdoba, Argentina', 'Chaco, Argentina', 'Santa Fe, Argentina',
       'Corrientes, Argentina', 'Mar del Plata, Argentina',
       'Salta, Argentina'],
      dtype='object')
In [118]:
#create geocoding function
pais = file_name
def ciudadClean(ciudad):
    ciudad = ciudad.strip()
    if pais not in ciudad:
        ciudad = ciudad + ", " + pais
    return ciudad   
In [119]:
#apply function
file_name["Ciudad"]= argentina["Ciudad"].apply(ciudadClean)
In [128]:
#geocode
file_name["geocoder"] = argentina["Ciudad"].apply(geocoder.osm)
In [140]:
#get lat
def ciudadLat(geocoder):
    lat = geocoder.lat
    return lat   
In [145]:
#get long
def ciudadLng(geocoder):
    lng = geocoder.lng
    return lng
In [141]:
file_name"lat"] = file_name["geocoder"].apply(ciudadLat)
In [146]:
file_name["lng"] = file_name["geocoder"].apply(ciudadLng)
In [149]:
file_name.to_csv("file_name_clean.csv", index=False)