- 23 Oct, 2023
- read
El contenido presentado en este artículo está destinado únicamente para fines académicos. Las opiniones expresadas se basan en mi comprensión e investigación personal. Es importante tener en cuenta que el campo de los grandes datos y los lenguajes de programación discutidos, como Python, R, Power BI, Tableau y SQL, son dinámicos y están en constante evolución. Este artículo tiene como objetivo fomentar el aprendizaje, la exploración y la discusión dentro del campo en lugar de proporcionar respuestas definitivas. Se recomienda la discreción del lector.
Sumerjámonos en el mundo de las tendencias migratorias netas utilizando datos delBanco Mundial. Este conjunto de datos, meticulosamente organizado en formato tabular, ofrece información valiosa sobre los patrones migratorios de las naciones de todo el mundo.
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
Hemos incorporado las herramientas esenciales de Python para nuestro análisis.
netmigration15 = pd.read_csv(r'D:\helen\Documents\PythonScripts\datasets\WorldBank\netmigration.csv')
netmigration15.head()
netmigration15.tail()
Aquí hay una breve explicación de las columnas:
Nombre del país: esta columna contiene los nombres de diferentes países.
Código de país: esta columna contiene los códigos de país, que son identificadores únicos para cada país.
2011 a 2021: estas columnas representan los datos de migración neta para cada año desde 2011 a 2021. Los valores positivos indican inmigración neta (más personas que entran al país que las que salen), mientras que los valores negativos indican emigración neta (más personas que salen del país). el país que mudarse).
Este código mostrará los nombres de todas las columnas en el marco de datos netmigration15.
Index(['Country Name', 'Country Code', '2011', '2012', '2013', '2014', '2015',
'2016', '2017', '2018', '2019', '2020', '2021'],
dtype='object')
Este código mostrará una lista de columnas junto con Verdadero o Falso para indicar si a cada columna le faltan valores. Si a una columna le faltan valores, mostrará Verdadero; si no, mostrará False.
Configurar el índice de un DataFrame en la columna ‘País’ usando netmigration15 cambiará el índice del DataFrame a los valores en la columna ‘País’.
netmigration15.set_index('Country', inplace=True)
Esta lista puede ser útil para diversas operaciones de datos, particularmente cuando queremos acceder o manipular datos para esos años específicos.
year = list(range(2011,2022))
year
OUTPUT
[2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021]
Este código devolverá los datos de Colombia de los años 2011 al 2021.
years = [str(year) for year in range(2011, 2022)]
colombia_data = netmigration15.loc['Colombia', years]
years
OUTPUT
['2011',
'2012',
'2013',
'2014',
'2015',
'2016',
'2017',
'2018',
'2019',
'2020',
'2021']
Este es un enfoque común para calcular la migración neta total de cada país durante los años especificados.
numeric_columns = netmigration15.columns[2:]
netmigration15['Total'] = netmigration15[numeric_columns].sum(axis=1)
La migración neta negativa suele indicar que más personas abandonan un país que las que entran en él. Los factores que contribuyen a esta tendencia pueden incluir:
Condiciones económicas: la inestabilidad económica, las altas tasas de desempleo o las oportunidades económicas limitadas en el país pueden llevar a las personas a buscar mejores perspectivas en otros lugares.
Factores políticos: la inestabilidad política, los conflictos o la falta de seguridad pueden hacer que las personas emigren en busca de un entorno más seguro.
Factores sociales: cuestiones sociales como las tasas de criminalidad, la falta de acceso a la educación o la atención médica pueden motivar a las personas a irse.
Factores ambientales: los desastres naturales, el cambio climático o los problemas ambientales pueden obligar a las personas a mudarse debido a la destrucción de sus hogares o medios de vida.
Conflicto o violencia: Los conflictos, la violencia o los disturbios civiles en curso pueden llevar a las personas a huir de sus países de origen.
Políticas gubernamentales: Las políticas gubernamentales relacionadas con la inmigración o la emigración pueden afectar los movimientos de población.
Cambios demográficos: Los cambios en las tasas de natalidad y de fertilidad también pueden influir en las cifras de migración neta.
Esta es una buena manera de representar visualmente las tendencias migratorias netas durante los años especificados.
colombia_data.plot()
plt.title('Net Migration for Colombia (2011-2021)')
plt.ylabel('Net Migration (People)')
plt.xlabel('Years')
plt.show()
Los valores negativos indican emigración neta, lo que significa que más personas abandonan Colombia para trasladarse a otros países que las que ingresan a Colombia. En otras palabras, Colombia experimenta una pérdida neta de población hacia otros países entre 2011 y 2015.
Los valores positivos indican inmigración neta, lo que significa que más personas ingresan a Colombia de las que salen. De 2016 a 2021, Colombia experimenta un aumento neto de población debido a la migración internacional.
Este es un paso útil cuando se trabaja con nombres de columnas o se accede a columnas específicas en nuestro DataFrame, ya que los nombres de las columnas generalmente se almacenan como cadenas.
#Multiple Countries
netmigration15.columns = list(map(str,netmigration15.columns))
years = list(map(str,range(2011, 2022)))
years
OUTPUT
['2011',
'2012',
'2013',
'2014',
'2015',
'2016',
'2017',
'2018',
'2019',
'2020',
'2021']
Este código mostrará una lista de todos los países únicos que están presentes en el índice de nuestro DataFrame.
unique_countries = netmigration15.index.unique()
print(unique_countries)
unique Countries
Esta es una operación común cuando desea centrarse en un subconjunto de países o datos específicos para su análisis o visualización.
netmigration15_SA= netmigration15.loc[['Colombia','Venezuela, RB', 'Brazil','Peru','Ecuador',
'Bolivia','Chile','Paraguay','Uruguay','Argentina',
], years]
Esta operación a menudo se realiza para que los datos sean más adecuados para la visualización o el análisis, especialmente cuando se desea trazar varios países a lo largo de los años.
netmigration15_SA = netmigration15_SA.transpose()
netmigration15_SA.head()
Countriesin South America over the years
Tamaño de figura más grande: establezca un tamaño de figura más grande (12x8) para que la trama sea más visible y detallada.
Estilos de línea y marcadores: estilos de línea y marcadores para distinguir los datos de cada país.
Título y etiquetas: un título, ylabel y xlabel para proporcionar contexto e información.
Líneas de cuadrícula: se han agregado líneas de cuadrícula para una mejor legibilidad.
Leyenda: leyenda con una ubicación ajustada para ayudar a identificar los datos de cada país.
Espaciado del eje X: se ajustó el espaciado entre los países en el eje x para una mejor presentación.
Visualización: la trama usando plt.show().
# Transpose the DataFrame for better visualization
netmigration15_SA = netmigration15_SA.transpose()
# Set a larger figure size
plt.figure(figsize=(12, 8))
# Plot the data with line styles and markers
netmigration15_SA.plot(kind='line', style='o-', markersize=6, linewidth=2)
# Set the title, ylabel, and xlabel
plt.title('Net Migration in South America')
plt.ylabel('Net Migration (People)')
plt.xlabel('Years')
# Add gridlines for better readability
plt.grid(True, linestyle='--', alpha=0.6)
# Add legend with adjusted location
plt.legend(loc='upper left', bbox_to_anchor=(1, 1))
# Add some space between the countries on the x-axis
plt.xticks(rotation=20, ha='right')
plt.subplots_adjust(bottom=0.2)
# Show the plot
plt.show()