diff --git a/exercicios/para-casa/EU Immigrants.csv b/exercicios/para-casa/EU Immigrants.csv new file mode 100644 index 0000000..f66a40d --- /dev/null +++ b/exercicios/para-casa/EU Immigrants.csv @@ -0,0 +1,66 @@ +EU COUNTRIES,TOTAL IMMIGRANTS(IN THOUSANDS),IMMIGRANTS WITH NATIONALITY(THOUSANDS),IMMIGRANTS WITH NATIONALITY(%age),NON-NATIONAL IMMIGRANTS (THOUSANDS),NON-NATIONAL IMMIGRANTS (%age),NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(THOUSANDS),NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(%age),NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(THOUSANDS),NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(%age),STATELESS IMMIGRANTS(THOUSANDS),STATELESS IMMIGRANTS(%age),NUMBER OF IMMIGRANTS(PER THOUSAND INHABITANTS),DISTRIBUTION OF IMMIGRANTS IN %AGE (NATIONALS),DISTRIBUTION OF IMMIGRANTS IN %AGE (NON-NATIONALS),DISTRIBUTION OF IMMIGRANTS IN %AGE(UNKNOWN),PERCENTAGE OF IMMIGRANTS BY SEX(MALE),PERCENTAGE OF IMMIGRANTS BY SEX(FEMALE),%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF EU MEMBER STATES),%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF NON-EU COUNTRIES),%AGE OF FOREIGN BORN IMMIGRANTS BY TOTAL POPULATION,%AGE OF BORN IN ANOTHER EU-MEMBER STATES,%AGE OF BORN IN NON-EU COUNTRY +Austria,118.5,9.6,8.1,108.8,91.8,64.4,54.4,44.1,37.2,0.3,0.2,13.2,8.1,91.8,0.1,57.5,42.5,9.2,8.3,20.4 ,9.3 ,11.1 +Belgium,139.7,17.4,12.4,121.7,87.1,63.1,45.2,58.5,41.9,0.0,0.0,12.1,12.4,87.1,0.5,54.9,45.1,8.2,4.6,18.2 ,7.9 ,10.3 +Bulgaria,39.5,22.1,56.0,17.3,43.9,5.5,13.8,11.8,30.0,0.0,0.1,5.7,56.0,43.9,0.1,55.1,44.9,0.2,1.6,3.2 ,1.0 ,2.2 +Croatia,35.9,10.6,29.6,25.3,70.4,4.8,13.2,20.5,57.2,0.0,0.0,9.1,29.6,70.4,0.0,72.7,27.3,0.3,0.6,12.2 ,1.7 ,10.6 +Cyprus,24.0,4.0,16.6,20.0,83.4,8.0,33.2,12.1,50.2,0.0,0.0,26.7,16.6,83.4,0.0,46.5,53.5,10.4,8.4,22.7 ,10.6 ,12.2 +Czechia,69.4,2.9,4.2,66.4,95.8,14.5,21.0,51.9,74.8,0.0,0.0,6.6,4.2,95.8,0.0,61.4,38.6,1.6,3.5,4.3 ,1.3 ,3.0 +Denmark,63.5,16.2,25.5,47.3,74.4,29.6,46.6,17.6,27.7,0.1,0.1,10.8,25.5,74.4,0.0,54.2,45.8,4.0,5.4,12.7 ,4.2 ,8.5 +Estonia,19.5,7.1,36.1,12.3,63.1,4.1,20.9,8.2,42.2,0.0,0.0,14.7,36.1,63.1,0.8,60.3,39.7,1.6,13.6,15.1 ,1.9 ,13.1 +Finland,36.4,8.3,22.9,28.0,76.9,8.1,22.2,19.9,54.6,0.0,0.1,6.6,22.9,76.9,0.3,55.5,44.5,1.9,3.4,7.7 ,2.3 ,5.4 +France,336.4,106.6,31.7,229.8,68.3,58.6,17.4,171.1,50.9,0.0,0.0,5.0,31.7,68.3,0.0,49.6,50.4,2.2,5.6,12.7 ,2.9 ,9.9 +Germany,874.4,148.6,17.0,722.2,82.6,291.4,33.3,430.3,49.2,0.5,0.1,10.5,17.0,82.6,0.4,57.1,42.9,5.4,7.6,18.4 ,7.5 ,10.9 +Greece,57.1,28.4,49.7,28.7,50.3,3.3,5.8,25.4,44.5,0.0,0.0,5.4,49.7,50.3,0.0,58.0,42.0,1.1,6.0,11.5 ,2.4 ,9.1 +Hungary,80.5,31.4,39.0,49.1,61.0,13.0,16.1,36.1,44.8,0.0,0.0,8.3,39.0,61.0,0.0,58.3,41.7,0.8,1.3,6.3 ,3.5 ,2.9 +Iceland,9.0,2.0,22.1,7.0,77.9,5.3,58.5,1.7,19.4,0.0,0.0,24.1,22.1,77.9,0.0,58.0,42.0,11.6,3.0,19.1 ,12.6 ,6.4 +Ireland,80.7,32.8,40.6,47.0,58.2,17.2,21.3,29.7,36.8,0.0,0.0,16.0,40.6,58.2,1.2,51.6,48.4,7.0,6.2,17.9 ,6.7 ,11.2 +Italy,318.4,74.8,23.5,243.6,76.5,44.4,14.0,199.1,62.5,0.0,0.0,5.4,23.5,76.5,0.0,52.8,47.2,2.4,6.2,10.4 ,2.6 ,7.8 +Latvia ,12.7,6.2,48.9,6.4,50.7,0.7,5.5,5.7,45.1,0.0,0.1,6.7,48.9,50.7,0.3,66.2,33.8,0.4,12.7,11.9 ,1.2 ,10.7 +Liechtenstein,0.7,0.2,25.0,0.5,75.0,0.2,36.5,0.3,38.6,0.0,0.0,17.1,25.0,75.0,0.0,51.6,48.4,18.0,16.4,68.6 ,21.3 ,47.3 +Lithuania,44.9,23.7,52.9,21.1,47.1,0.9,2.1,20.1,44.8,0.1,0.2,16.0,52.9,47.1,0.0,67.7,32.3,0.1,1.1,6.0 ,0.6 ,5.4 +Luxembourg,25.3,1.6,6.2,23.7,93.6,15.7,62.0,8.0,31.5,0.0,0.1,39.6,6.2,93.6,0.2,54.0,46.0,38.1,9.0,49.4 ,33.8 ,15.6 +Malta ,18.1,2.8,15.3,15.4,84.7,7.0,38.7,8.3,46.0,0.0,0.0,35.0,15.3,84.7,0.0,61.4,38.6,8.6,12.0,23.6 ,7.9 ,15.7 +Netherlands,214.1,40.2,18.8,173.3,80.9,89.8,42.0,82.7,38.6,0.7,0.3,12.2,18.8,80.9,0.3,51.8,48.2,3.7,3.3,14.5 ,4.0 ,10.5 +Norway,53.9,7.3,13.6,46.6,86.4,26.6,49.3,19.9,36.9,0.1,0.2,10.0,13.6,86.4,0.0,54.4,45.6,6.7,4.1,16.7 ,6.7 ,10.1 +Poland,241.1,43.4,18.0,197.7,82.0,80.4,33.3,117.3,48.6,0.0,0.0,6.4,18.0,82.0,0.0,61.8,38.2,0.1,1.1,2.5 ,0.6 ,1.9 +Portugal,50.7,38.2,75.3,12.5,24.7,3.2,6.3,9.4,18.5,0.0,0.0,4.9,75.3,24.7,0.0,50.9,49.1,1.6,5.1,11.6 ,2.8 ,8.8 +Romania,194.6,149.5,76.8,45.0,23.1,9.9,5.1,35.2,18.1,0.0,0.0,10.2,76.8,23.1,0.0,58.5,41.5,0.1,0.1,1.7 ,1.0 ,0.7 +Slovakia,5.7,3.7,65.1,2.0,34.9,1.5,26.6,0.5,8.3,0.0,0.0,1.1,65.1,34.9,0.0,52.3,47.7,0.7,0.4,3.9 ,2.9 ,1.0 +Slovenia,23.6,4.0,16.8,19.7,83.2,2.7,11.4,17.0,71.8,0.0,0.0,11.2,16.8,83.2,0.0,61.2,38.8,1.0,7.2,14.0 ,3.0 ,11.0 +Spain,528.9,72.3,13.7,456.6,86.3,110.2,20.8,346.0,65.4,0.4,0.1,11.2,13.7,86.3,0.0,51.6,48.4,3.7,7.7,15.5 ,3.5 ,12.0 +Sweden,90.6,16.0,17.7,74.4,82.1,22.9,25.3,51.1,56.4,0.4,0.4,8.7,17.7,82.1,0.3,51.3,48.7,2.9,5.3,20.0 ,5.1 ,14.9 +Switzerland,144.9,22.1,15.3,122.7,84.7,83.7,57.7,39.1,27.0,0.0,0.0,16.6,15.3,84.7,0.0,52.9,47.1,16.4,9.2,29.7 ,16.4 ,13.3 +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, +,,,,,,,,,,,,,,,,,,,,,, diff --git a/exercicios/para-casa/atividade-casa-12.ipynb b/exercicios/para-casa/atividade-casa-12.ipynb new file mode 100644 index 0000000..416bfad --- /dev/null +++ b/exercicios/para-casa/atividade-casa-12.ipynb @@ -0,0 +1,506 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sobre o banco de dados" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dados coletados entre 2022 e 2023 pela Eurostat, uma organização europeia de estatística, que dizem respeito ao fluxo de imigrantes nos países da União Europeia. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Importação das bibliotecas e leitura do arquivo csv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "df = pd.read_csv('EU Immigrants.csv')\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Função de tratamento do banco de dados" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Objetivos da função:\n", + "* Excluir as últimas linhas, que estão vazias\n", + "* Exibir métricas\n", + "* Exibir as 6 primeiras linhas\n", + "* Exibir a lista de colunas " + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia = df.copy()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "def processamento_df_copia(df):\n", + " head = df.head(6)\n", + " remove_null = df.dropna(subset=['EU COUNTRIES'], inplace=True) #remove as 34 linhas finais, que estão vazias\n", + " description = df.describe()\n", + " list_of_columns = df.columns\n", + " return head, remove_null, description, list_of_columns\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "head, remove_null, description, list_of_columns = processamento_df_copia(df_copia)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "head" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "#Remoção as linhas vazias ao final da base de dados\n", + "remove_null" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Display da base de dados sem as linhas vazias ao final\n", + "df_copia" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "description.T" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "list_of_columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Tradução do cabeçalho e da primeira coluna da base de dados, que lista o nome dos países" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dict_items([('EU COUNTRIES', 'PAÍSES DA UE'), ('TOTAL IMMIGRANTS(IN THOUSANDS)', 'TOTAL DE IMIGRANTES (MILHARES)'), ('IMMIGRANTS WITH NATIONALITY(THOUSANDS)', 'IMIGRANTES COM NACIONALIDADE (MILHARES)'), ('IMMIGRANTS WITH NATIONALITY(%age)', 'IMIGRANTES COM NACIONALIDADE (%)'), ('NON-NATIONAL IMMIGRANTS (THOUSANDS)', 'IMIGRANTES NÃO NACIONAIS (MILHARES)'), ('NON-NATIONAL IMMIGRANTS (%age)', 'IMIGRANTES NÃO NACIONAIS (%)'), ('NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(THOUSANDS)', 'IMIGRANTES NÃO NACIONAIS DE PAÍSES-MEMBROS DA UE (MILHARES)'), ('NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(%age)', 'IMIGRANTES NÃO NACIONAIS DE PAÍSES-MEMBROS DA UE (%)'), ('NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(THOUSANDS)', 'IMIGRANTES NÃO NACIONAIS DE PAÍSES NÃO INTEGRANTES DA UE (MILHARES)'), ('NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(%age)', 'IMIGRANTES NÃO NACIONAIS DE PAÍSES NÃO INTEGRANTES DA UE (%)'), ('STATELESS IMMIGRANTS(THOUSANDS)', 'IMIGRANTES APÁTRIDAS (MILHARES)'), ('STATELESS IMMIGRANTS(%age)', 'IMIGRANTES APÁTRIDAS (%)'), ('NUMBER OF IMMIGRANTS(PER THOUSAND INHABITANTS)', 'NÚMERO DE IMIGRANTES (A CADA MIL HABITANTES)'), ('DISTRIBUTION OF IMMIGRANTS IN %AGE (NATIONALS)', 'DISTRIBUIÇÃO DOS IMIGRANTES NACIONAIS (%)'), ('DISTRIBUTION OF IMMIGRANTS IN %AGE (NON-NATIONALS)', 'DISTRIBUIÇÃO DOS IMIGRANTES NÃO NACIONAIS (%)'), ('DISTRIBUTION OF IMMIGRANTS IN %AGE(UNKNOWN)', 'DISTRIBUIÇÃO DOS IMIGRANTES COM ORIGEM DESCONHECIDA (%)'), ('PERCENTAGE OF IMMIGRANTS BY SEX(MALE)', 'IMIGRANTES HOMENS (%)'), ('PERCENTAGE OF IMMIGRANTS BY SEX(FEMALE)', 'IMIGRANTES MULHERES (%)'), ('%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF EU MEMBER STATES)', 'IMIGRANTES NÃO NACIONAIS ORIUNDOS DE PAÍSES-MEMBROS DA UE NA POPULAÇÃO TOTAL (%)'), ('%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF NON-EU COUNTRIES)', 'IMIGRANTES NÃO NACIONAIS NÃO ORIUNDOS DE PAÍSES-MEMBROS DA UE NA POPULAÇÃO TOTAL (%)'), ('%AGE OF FOREIGN BORN IMMIGRANTS BY TOTAL POPULATION', 'IMIGRANTES NASCIDOS EM OUTRO PAÍS NO TOTAL DA POPULAÇÃO (%)'), ('%AGE OF BORN IN ANOTHER EU-MEMBER STATES', 'IMIGRANTES NASCIDOS EM OUTRO PAÍS-MEMBRO DA UE'), ('%AGE OF BORN IN NON-EU COUNTRY', 'IMIGRANTES NASCIDOS EM PAÍS NÃO INTEGRANTE DA UE')])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dict_traduzido.items()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dict_traduzido = {\n", + " 'EU COUNTRIES': 'PAÍSES DA UE',\n", + " 'TOTAL IMMIGRANTS(IN THOUSANDS)': 'TOTAL DE IMIGRANTES (MILHARES)',\n", + " 'IMMIGRANTS WITH NATIONALITY(THOUSANDS)': 'IMIGRANTES COM NACIONALIDADE (MILHARES)',\n", + " 'IMMIGRANTS WITH NATIONALITY(%age)': 'IMIGRANTES COM NACIONALIDADE (%)',\n", + " 'NON-NATIONAL IMMIGRANTS (THOUSANDS)': 'IMIGRANTES NÃO NACIONAIS (MILHARES)', \n", + " 'NON-NATIONAL IMMIGRANTS (%age)': 'IMIGRANTES NÃO NACIONAIS (%)',\n", + " 'NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(THOUSANDS)': 'IMIGRANTES NÃO NACIONAIS DE PAÍSES-MEMBROS DA UE (MILHARES)',\n", + " 'NON_NATIONAL IMMIGRANTS FROM OTHER EU MEMBER STATES(%age)': 'IMIGRANTES NÃO NACIONAIS DE PAÍSES-MEMBROS DA UE (%)',\n", + " 'NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(THOUSANDS)': 'IMIGRANTES NÃO NACIONAIS DE PAÍSES NÃO INTEGRANTES DA UE (MILHARES)',\n", + " 'NON_NATIONAL IMMIGRANTS FROM NON-EU STATES(%age)': 'IMIGRANTES NÃO NACIONAIS DE PAÍSES NÃO INTEGRANTES DA UE (%)',\n", + " 'STATELESS IMMIGRANTS(THOUSANDS)': 'IMIGRANTES APÁTRIDAS (MILHARES)', \n", + " 'STATELESS IMMIGRANTS(%age)': 'IMIGRANTES APÁTRIDAS (%)',\n", + " 'NUMBER OF IMMIGRANTS(PER THOUSAND INHABITANTS)': 'NÚMERO DE IMIGRANTES (A CADA MIL HABITANTES)',\n", + " 'DISTRIBUTION OF IMMIGRANTS IN %AGE (NATIONALS)': 'DISTRIBUIÇÃO DOS IMIGRANTES NACIONAIS (%)',\n", + " 'DISTRIBUTION OF IMMIGRANTS IN %AGE (NON-NATIONALS)': 'DISTRIBUIÇÃO DOS IMIGRANTES NÃO NACIONAIS (%)',\n", + " 'DISTRIBUTION OF IMMIGRANTS IN %AGE(UNKNOWN)': 'DISTRIBUIÇÃO DOS IMIGRANTES COM ORIGEM DESCONHECIDA (%)',\n", + " 'PERCENTAGE OF IMMIGRANTS BY SEX(MALE)': 'IMIGRANTES HOMENS (%)',\n", + " 'PERCENTAGE OF IMMIGRANTS BY SEX(FEMALE)': 'IMIGRANTES MULHERES (%)',\n", + " '%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF EU MEMBER STATES)': 'IMIGRANTES NÃO NACIONAIS ORIUNDOS DE PAÍSES-MEMBROS DA UE NA POPULAÇÃO TOTAL (%)',\n", + " '%AGE OF NON-NATIONAL IMMIGRANTS IN TOTAL POPULATION(CITIZENS OF NON-EU COUNTRIES)': 'IMIGRANTES NÃO NACIONAIS NÃO ORIUNDOS DE PAÍSES-MEMBROS DA UE NA POPULAÇÃO TOTAL (%)', \n", + " '%AGE OF FOREIGN BORN IMMIGRANTS BY TOTAL POPULATION': 'IMIGRANTES NASCIDOS EM OUTRO PAÍS NO TOTAL DA POPULAÇÃO (%)',\n", + " '%AGE OF BORN IN ANOTHER EU-MEMBER STATES': 'IMIGRANTES NASCIDOS EM OUTRO PAÍS-MEMBRO DA UE',\n", + " '%AGE OF BORN IN NON-EU COUNTRY': 'IMIGRANTES NASCIDOS EM PAÍS NÃO INTEGRANTE DA UE'\n", + "\n", + "}\n", + "colunas_traduzidas = []\n", + "\n", + "for chave, valor in dict_traduzido.items():\n", + " colunas_traduzidas.append(valor)\n", + "\n", + "colunas_traduzidas" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia.columns = colunas_traduzidas\n", + "df_copia\n" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [], + "source": [ + "#tentativa de traduzir a coluna com o nome dos países usando a função map() (não deu certo)\n", + "dict_traduzir_paises = {\n", + " 'Austria': 'Austria',\n", + " 'Belgium': 'Bélgica',\n", + " 'Bulgaria': 'Bulgária',\n", + " 'Croatia': 'Croácia',\n", + " 'Cyprus': 'Chipre',\n", + " 'Czechia': 'República Tcheca',\n", + " 'Denmark': 'Dinamarca',\n", + " 'Estonia': 'Estonia',\n", + " 'Finland': 'Finlandia',\n", + " 'France': 'França',\n", + " 'Germany': 'Alemanha',\n", + " 'Greece': 'Grécia',\n", + " 'Hungary': 'Hungria',\n", + " 'Iceland': 'Islandia',\n", + " 'Ireland': 'Irlanda',\n", + " 'Italy': 'Itália',\n", + " 'Latvia': 'Letonia',\n", + " 'Liechtenstein': 'Liechtenstein',\n", + " 'Lithuania': 'Lituania',\n", + " 'Luxembourg': 'Luxemburgo',\n", + " 'Malta': 'Malta',\n", + " 'Netherlands': 'Holanda',\n", + " 'Norway': 'Noruega',\n", + " 'Poland': 'Polonia',\n", + " 'Portugal': 'Portugal',\n", + " 'Romania': 'Romenia',\n", + " 'Slovakia': 'Eslováquia',\n", + " 'Slovenia': 'Eslovenia',\n", + " 'Spain': 'Espanha',\n", + " 'Sweden': 'Suécia',\n", + " 'Switzerland': 'Suíça',\n", + "\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#NÃO DEU CERTO\n", + "df_copia['PAÍSES DA UE'].map(dict_traduzir_paises).head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Tradução da coluna com o nome dos países (desta vez deu certo)\n", + " \n", + "df_copia_traduzido = df_copia.replace([\"\"'Austria', 'Belgium', 'Bulgaria', 'Croatia', 'Cyprus', 'Czechia','Denmark', 'Estonia', \n", + " 'Finland', 'France', 'Germany', 'Greece', 'Hungary', 'Iceland', 'Ireland', 'Italy', 'Latvia', 'Liechtenstein', \n", + " 'Lithuania', 'Luxembourg', 'Malta', 'Netherlands', 'Norway', 'Poland', 'Portugal', 'Romania', 'Slovakia', 'Slovenia', 'Spain', \n", + " 'Sweden', 'Switzerland' ], \n", + " ['Austria', 'Bélgica', 'Bulgária', 'Croácia', 'Chipre', 'República Tcheca', 'Dinamarca', 'Estônia', 'Finlandia', 'França', 'Alemanha',\n", + " 'Grécia', 'Hungria', 'Islandia', 'Irlanda', 'Itália', 'Letonia', 'Liechtenstein', 'Lituania', 'Luxemburgo', 'Malta', 'Holanda', 'Noruega', 'Polonia',\n", + " 'Portugal', 'Romenia', 'Eslováquia', 'Eslovenia', 'Espanha', 'Suécia', 'Suíça'\"\"])\n", + "\n", + "df_copia_traduzido" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia_traduzido.sort_values(['PAÍSES DA UE'], ascending=True, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia_traduzido.reset_index(drop=True, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia_traduzido" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_copia_traduzido.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Gráficos\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Gráficos relacionados aos países nórdicos" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_nordicos = df_copia_traduzido.loc[[6, 11, 17, 24, 29], :]\n", + "df_nordicos" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Dados\n", + "x = ['Dinamarca', 'Finlandia', 'Islandia', 'Noruega', 'Suécia']\n", + "y = [63.5, 36.4, 9.0, 53.9, 90.6]\n", + "\n", + "# Criar uma figura e um eixo\n", + "fig, ax = plt.subplots()\n", + "\n", + "ax.plot(x, y, color='green', linestyle='--', marker='o')\n", + "\n", + "\n", + "ax.set_title('Total de imigrantes em cada país nórdico (milhares)')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "valores_homem = [54.2, 55.5, 58.0, 54.4, 51.3]\n", + "valores_mulher = [45.8, 44.5, 42.0, 45.6, 48.7]\n", + "\n", + "\n", + "barWidth = 0.20\n", + "\n", + "plt.figure(figsize=(10,5))\n", + "\n", + "b1 = np.arange(len(valores_homem))\n", + "b2 = [x + barWidth for x in b1] \n", + "\n", + "plt.bar(b1, valores_homem, color = 'orange', width=barWidth, label='Homem')\n", + "plt.bar(b2, valores_mulher, color = 'green', width=barWidth, label='Mulher')\n", + "\n", + "\n", + "plt.xticks([r + barWidth for r in range(len(valores_homem))], ['Dinamarca', 'Finlandia', 'Islandia', 'Noruega', 'Suécia'])\n", + "plt.ylabel('Percentual')\n", + "plt.title('Porcentagem de imigrantes por genero nos Países Nórdicos')\n", + "\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['Dinamarca', 'Finlandia', 'Islandia', 'Noruega', 'Suécia']\n", + "sizes = [4.2, 2.3, 12.6, 6.7, 5.1]\n", + "\n", + "#Criando uma figura e um eixo\n", + "fig1, ax1 = plt.subplots()\n", + "\n", + "ax1.pie(sizes, labels=labels, autopct = '%0.1f%%') #é possível colocar o valor correspondente a fatia usando o parametro autopct (aqui está definido que o valor terá 1 casa decimal)\n", + "\n", + "\n", + "ax1.axis('equal')\n", + "plt.suptitle('População de imigrantes nascidos em outro país da UE (Países Nórdicos)')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Gráficos relacionados aos países mediterraneos" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_mediterraneos = df_copia_traduzido.loc[[9, 13, 23, 26], :]\n", + "df_mediterraneos" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "names = ['Espanha', 'Grécia', 'Malta','Portugal']\n", + "values = [12, 9.1, 15.7, 8.8]\n", + "\n", + "\n", + "plt.suptitle('População de imigrantes nascidos em país não integrante da UE (em %)')\n", + "\n", + "plt.bar(names, values, color = 'purple')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['Homens', 'Mulheres']\n", + "sizes = [51.6, 48.4]\n", + "\n", + "fig1, ax1 = plt.subplots()\n", + "\n", + "ax1.pie(sizes, labels=labels, autopct = '%0.2f%%') \n", + "ax1.axis('equal')\n", + "plt.suptitle('População de imigrantes por genero (Espanha)')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "labels = ['Homens', 'Mulheres']\n", + "sizes = [50.9, 49.1]\n", + "\n", + "fig1, ax1 = plt.subplots()\n", + "\n", + "ax1.pie(sizes, labels=labels, autopct = '%0.2f%%') \n", + "\n", + "ax1.axis('equal')\n", + "plt.suptitle('População de imigrantes por genero (Portugal)')\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}