Limpieza y preprocesamiento de datos
El siguiente paso después de leer los datos es limpiarlos y preprocesarlos. Seguro que lo has oído varias veces que este paso suele llevar más tiempo.
Hay algunos problemas que deben manejarse antes de crear las visualizaciones del mapa mundial. ChatGPT los detectó y proporcionó una solución en menos de un minuto. ¡Muy impresionante!
El código en el fragmento anterior:
# code generated by Code Interpreter
# Check if the country names are consistent across both dataframes
population_countries = set(population_data['Country Name'])
coordinates_countries = set(country_coordinates['name'])# Countries in the population data but not in the coordinates data
missing_in_coordinates = population_countries - coordinates_countries
# Countries in the coordinates data but not in the population data
missing_in_population = coordinates_countries - population_countries
Faltan algunos países en el conjunto de datos de coordenadas y también algunos en el conjunto de datos de población.
Lo que hizo ChatGPT en el fragmento de código anterior:
- Cree conjuntos Python de nombres de países en ambos conjuntos de datos
- Compararlos por separado para encontrar la diferencia como un conjunto
ChatGPT lo resolvió en menos de un minuto:
El código en el fragmento anterior:
# code generated by Code Interpreter
# Mapping of country names from the population dataset to the coordinates dataset
country_name_mapping = {
'Bahamas, The': 'Bahamas',
'Brunei Darussalam': 'Brunei',
'Cabo Verde': 'Cape Verde',
'Congo, Dem. Rep.': 'Congo [DRC]',
'Congo, Rep.': 'Congo [Republic]',
"Cote d'Ivoire": "Côte d'Ivoire",
'Czechia': 'Czech Republic',
'Egypt, Arab Rep.': 'Egypt',
'Gambia, The': 'Gambia',
'Hong Kong SAR, China': 'Hong Kong',
'Iran, Islamic Rep.': 'Iran',
"Korea, Dem. People's Rep.": 'North Korea',
'Korea, Rep.': 'South Korea',
'Kyrgyz Republic': 'Kyrgyzstan',
'Lao PDR': 'Laos',
'Macao SAR, China': 'Macau',
'Micronesia, Fed. Sts.': 'Micronesia',
'Myanmar': 'Myanmar [Burma]',
'North Macedonia': 'Macedonia [FYROM]',
'Russian Federation': 'Russia',
'Sao Tome and Principe': 'São Tomé and Príncipe',
'Slovak Republic': 'Slovakia',
'Syrian Arab Republic': 'Syria',
'Turkiye': 'Turkey',
'Venezuela, RB': 'Venezuela',
'Yemen, Rep.': 'Yemen',
'Eswatini': 'Swaziland'
}# Clean the population dataset
population_data_clean = population_data.replace({"Country Name": country_name_mapping})
# Drop the rows that do not exist in the coordinates dataset
population_data_clean = population_data_clean[population_data_clean['Country Name'].isin(coordinates_countries)]
# Merge the population data with the country coordinates data
merged_data = pd.merge(population_data_clean, country_coordinates, left_on='Country Name', right_on='name')
# Keep only the necessary columns
merged_data = merged_data[['Country Name', '2022', 'latitude', 'longitude']]
# Rename the columns for clarity
merged_data.columns = ['Country', 'Population', 'Latitude', 'Longitude']
merged_data.head()
Ahora tenemos los datos en un formato agradable y limpio. Este paso normalmente requeriría mucho tiempo y esfuerzos manuales. ChatGPT lo hizo en aproximadamente un minuto.