├── .gitignore
├── 2120_0.xlsx
├── Introducao.ipynb
├── LICENSE
├── PDA_UNIDADES_RF_EPCT_CSV.csv
├── api_escola_inteligente.ipynb
├── api_partidos_camara_deputados.ipynb
├── aula3
└── 01_csv_senadores
│ ├── 2018.csv
│ └── reembolsos_senadores_2018.ipynb
├── csv_cirurgias.ipynb
├── csv_pronatec.ipynb
├── csv_prouni.ipynb
├── cursos-prouni.csv
├── excel_filmes_exibidos_brasil_2009_2017.ipynb
├── readme.md
└── sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # C extensions
6 | *.so
7 |
8 | # Distribution / packaging
9 | .Python
10 | env/
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | *.egg-info/
23 | .installed.cfg
24 | *.egg
25 |
26 | # PyInstaller
27 | # Usually these files are written by a python script from a template
28 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
29 | *.manifest
30 | *.spec
31 |
32 | # Installer logs
33 | pip-log.txt
34 | pip-delete-this-directory.txt
35 |
36 | # Unit test / coverage reports
37 | htmlcov/
38 | .tox/
39 | .coverage
40 | .coverage.*
41 | .cache
42 | nosetests.xml
43 | coverage.xml
44 | *,cover
45 |
46 | # Translations
47 | *.mo
48 | *.pot
49 |
50 | # Django stuff:
51 | *.log
52 |
53 | # Sphinx documentation
54 | docs/_build/
55 |
56 | # PyBuilder
57 | target/
58 |
59 | # Emacs
60 | .#*
61 |
62 | # Notebook Checkpoints
63 | .ipynb_checkpoints/
64 |
--------------------------------------------------------------------------------
/2120_0.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/2120_0.xlsx
--------------------------------------------------------------------------------
/Introducao.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 1,
6 | "metadata": {},
7 | "outputs": [
8 | {
9 | "data": {
10 | "text/plain": [
11 | "15"
12 | ]
13 | },
14 | "execution_count": 1,
15 | "metadata": {},
16 | "output_type": "execute_result"
17 | }
18 | ],
19 | "source": [
20 | "10 + 5"
21 | ]
22 | },
23 | {
24 | "cell_type": "code",
25 | "execution_count": null,
26 | "metadata": {},
27 | "outputs": [],
28 | "source": []
29 | }
30 | ],
31 | "metadata": {
32 | "kernelspec": {
33 | "display_name": "Python 3",
34 | "language": "python",
35 | "name": "python3"
36 | },
37 | "language_info": {
38 | "codemirror_mode": {
39 | "name": "ipython",
40 | "version": 3
41 | },
42 | "file_extension": ".py",
43 | "mimetype": "text/x-python",
44 | "name": "python",
45 | "nbconvert_exporter": "python",
46 | "pygments_lexer": "ipython3",
47 | "version": "3.7.1"
48 | }
49 | },
50 | "nbformat": 4,
51 | "nbformat_minor": 2
52 | }
53 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Rodolfo Ghiggi
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/PDA_UNIDADES_RF_EPCT_CSV.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/PDA_UNIDADES_RF_EPCT_CSV.csv
--------------------------------------------------------------------------------
/api_escola_inteligente.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Anáilse dos dados do site escola inteligente\n",
8 | "São dados do INEP disponibilizados por meio de API\n",
9 | "\n",
10 | "Link -> http://educacao.dadosabertosbr.com/api/escolas/buscaavancada?situacaoFuncionamento=1&energiaInexistente=on&aguaInexistente=on&esgotoInexistente=on&cozinha=on"
11 | ]
12 | },
13 | {
14 | "cell_type": "code",
15 | "execution_count": 3,
16 | "metadata": {},
17 | "outputs": [
18 | {
19 | "data": {
20 | "text/html": [
21 | "
\n",
22 | "\n",
35 | "
\n",
36 | " \n",
37 | " \n",
38 | " \n",
39 | " anoCenso \n",
40 | " cidade \n",
41 | " cod \n",
42 | " codCidade \n",
43 | " dependenciaAdministrativa \n",
44 | " dependenciaAdministrativaTxt \n",
45 | " enemMediaGeral \n",
46 | " estado \n",
47 | " idebAF \n",
48 | " idebAI \n",
49 | " nome \n",
50 | " regiao \n",
51 | " situacaoFuncionamento \n",
52 | " situacaoFuncionamentoTxt \n",
53 | " \n",
54 | " \n",
55 | " \n",
56 | " \n",
57 | " 0 \n",
58 | " 2013 \n",
59 | " CANDIDO DE ABREU \n",
60 | " 41036026 \n",
61 | " 4104402 \n",
62 | " 3 \n",
63 | " Municipal \n",
64 | " 0.0 \n",
65 | " PR \n",
66 | " 0.0 \n",
67 | " 0.0 \n",
68 | " BAIRRO DOS MENDES E R M EF \n",
69 | " Sul \n",
70 | " 1 \n",
71 | " Em atividade \n",
72 | " \n",
73 | " \n",
74 | " 1 \n",
75 | " 2013 \n",
76 | " MONTE ALEGRE \n",
77 | " 15008258 \n",
78 | " 1504802 \n",
79 | " 3 \n",
80 | " Municipal \n",
81 | " 0.0 \n",
82 | " PA \n",
83 | " 0.0 \n",
84 | " 0.0 \n",
85 | " E M E F AGUA AZUL \n",
86 | " Norte \n",
87 | " 1 \n",
88 | " Em atividade \n",
89 | " \n",
90 | " \n",
91 | " 2 \n",
92 | " 2013 \n",
93 | " PLACAS \n",
94 | " 15534340 \n",
95 | " 1505650 \n",
96 | " 3 \n",
97 | " Municipal \n",
98 | " 0.0 \n",
99 | " PA \n",
100 | " 0.0 \n",
101 | " 0.0 \n",
102 | " E M E F AGUA BOA \n",
103 | " Norte \n",
104 | " 1 \n",
105 | " Em atividade \n",
106 | " \n",
107 | " \n",
108 | " 3 \n",
109 | " 2013 \n",
110 | " NOVO REPARTIMENTO \n",
111 | " 15525821 \n",
112 | " 1505064 \n",
113 | " 3 \n",
114 | " Municipal \n",
115 | " 0.0 \n",
116 | " PA \n",
117 | " 0.0 \n",
118 | " 0.0 \n",
119 | " E M E F AMAZONIA \n",
120 | " Norte \n",
121 | " 1 \n",
122 | " Em atividade \n",
123 | " \n",
124 | " \n",
125 | " 4 \n",
126 | " 2013 \n",
127 | " AFUA \n",
128 | " 15022790 \n",
129 | " 1500305 \n",
130 | " 3 \n",
131 | " Municipal \n",
132 | " 0.0 \n",
133 | " PA \n",
134 | " 0.0 \n",
135 | " 0.0 \n",
136 | " E M E F AMELIA HOLANDA \n",
137 | " Norte \n",
138 | " 1 \n",
139 | " Em atividade \n",
140 | " \n",
141 | " \n",
142 | "
\n",
143 | "
"
144 | ],
145 | "text/plain": [
146 | " anoCenso cidade cod codCidade \\\n",
147 | "0 2013 CANDIDO DE ABREU 41036026 4104402 \n",
148 | "1 2013 MONTE ALEGRE 15008258 1504802 \n",
149 | "2 2013 PLACAS 15534340 1505650 \n",
150 | "3 2013 NOVO REPARTIMENTO 15525821 1505064 \n",
151 | "4 2013 AFUA 15022790 1500305 \n",
152 | "\n",
153 | " dependenciaAdministrativa dependenciaAdministrativaTxt enemMediaGeral \\\n",
154 | "0 3 Municipal 0.0 \n",
155 | "1 3 Municipal 0.0 \n",
156 | "2 3 Municipal 0.0 \n",
157 | "3 3 Municipal 0.0 \n",
158 | "4 3 Municipal 0.0 \n",
159 | "\n",
160 | " estado idebAF idebAI nome regiao \\\n",
161 | "0 PR 0.0 0.0 BAIRRO DOS MENDES E R M EF Sul \n",
162 | "1 PA 0.0 0.0 E M E F AGUA AZUL Norte \n",
163 | "2 PA 0.0 0.0 E M E F AGUA BOA Norte \n",
164 | "3 PA 0.0 0.0 E M E F AMAZONIA Norte \n",
165 | "4 PA 0.0 0.0 E M E F AMELIA HOLANDA Norte \n",
166 | "\n",
167 | " situacaoFuncionamento situacaoFuncionamentoTxt \n",
168 | "0 1 Em atividade \n",
169 | "1 1 Em atividade \n",
170 | "2 1 Em atividade \n",
171 | "3 1 Em atividade \n",
172 | "4 1 Em atividade "
173 | ]
174 | },
175 | "execution_count": 3,
176 | "metadata": {},
177 | "output_type": "execute_result"
178 | }
179 | ],
180 | "source": [
181 | "# Importando as bibliotecas\n",
182 | "import pandas as pd\n",
183 | "import requests\n",
184 | "\n",
185 | "# URL de acesso a API\n",
186 | "url = 'http://educacao.dadosabertosbr.com/api/escolas/buscaavancada?situacaoFuncionamento=1&energiaInexistente=on&aguaInexistente=on&esgotoInexistente=on&cozinha=on'\n",
187 | "\n",
188 | "# Requisitando os dados da API\n",
189 | "resposta = requests.get(url)\n",
190 | "\n",
191 | "# Criando o DataFrame\n",
192 | "df = pd.DataFrame(resposta.json()[1])\n",
193 | "\n",
194 | "# Exibe os primeiros dados\n",
195 | "df.head()"
196 | ]
197 | },
198 | {
199 | "cell_type": "code",
200 | "execution_count": 4,
201 | "metadata": {},
202 | "outputs": [
203 | {
204 | "data": {
205 | "text/plain": [
206 | "(100, 14)"
207 | ]
208 | },
209 | "execution_count": 4,
210 | "metadata": {},
211 | "output_type": "execute_result"
212 | }
213 | ],
214 | "source": [
215 | "# Qual é o tamanho do DataFrame?\n",
216 | "df.shape"
217 | ]
218 | },
219 | {
220 | "cell_type": "code",
221 | "execution_count": 5,
222 | "metadata": {},
223 | "outputs": [
224 | {
225 | "data": {
226 | "text/plain": [
227 | "PA 99\n",
228 | "PR 1\n",
229 | "Name: estado, dtype: int64"
230 | ]
231 | },
232 | "execution_count": 5,
233 | "metadata": {},
234 | "output_type": "execute_result"
235 | }
236 | ],
237 | "source": [
238 | "# Em quais estados estão essas escolas?\n",
239 | "df['estado'].value_counts()"
240 | ]
241 | },
242 | {
243 | "cell_type": "code",
244 | "execution_count": 6,
245 | "metadata": {},
246 | "outputs": [
247 | {
248 | "data": {
249 | "text/plain": [
250 | "Municipal 100\n",
251 | "Name: dependenciaAdministrativaTxt, dtype: int64"
252 | ]
253 | },
254 | "execution_count": 6,
255 | "metadata": {},
256 | "output_type": "execute_result"
257 | }
258 | ],
259 | "source": [
260 | "# São todas escolas municipais?\n",
261 | "df['dependenciaAdministrativaTxt'].value_counts()"
262 | ]
263 | },
264 | {
265 | "cell_type": "code",
266 | "execution_count": null,
267 | "metadata": {},
268 | "outputs": [],
269 | "source": []
270 | }
271 | ],
272 | "metadata": {
273 | "kernelspec": {
274 | "display_name": "Python 3",
275 | "language": "python",
276 | "name": "python3"
277 | },
278 | "language_info": {
279 | "codemirror_mode": {
280 | "name": "ipython",
281 | "version": 3
282 | },
283 | "file_extension": ".py",
284 | "mimetype": "text/x-python",
285 | "name": "python",
286 | "nbconvert_exporter": "python",
287 | "pygments_lexer": "ipython3",
288 | "version": "3.7.1"
289 | }
290 | },
291 | "nbformat": 4,
292 | "nbformat_minor": 2
293 | }
294 |
--------------------------------------------------------------------------------
/api_partidos_camara_deputados.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Análise dos dados da API de partidos\n",
8 | "Análise dos dados obtidos pela API da Câmara dos deputados\n",
9 | "\n",
10 | "Request URL -> https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla"
11 | ]
12 | },
13 | {
14 | "cell_type": "code",
15 | "execution_count": 1,
16 | "metadata": {},
17 | "outputs": [],
18 | "source": [
19 | "# Importando as bibliotecas\n",
20 | "import pandas as pd\n",
21 | "import requests"
22 | ]
23 | },
24 | {
25 | "cell_type": "code",
26 | "execution_count": 5,
27 | "metadata": {},
28 | "outputs": [
29 | {
30 | "data": {
31 | "text/plain": [
32 | "'{\"dados\":[{\"id\":36898,\"sigla\":\"AVANTE\",\"nome\":\"Avante\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36898\"},{\"id\":37902,\"sigla\":\"DC\",\"nome\":\"Democracia Cristã\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37902\"},{\"id\":36769,\"sigla\":\"DEM\",\"nome\":\"Democratas\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36769\"},{\"id\":36899,\"sigla\":\"MDB\",\"nome\":\"Movimento Democrático Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36899\"},{\"id\":37901,\"sigla\":\"NOVO\",\"nome\":\"Partido Novo\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37901\"},{\"id\":37900,\"sigla\":\"PATRI\",\"nome\":\"Patriota\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37900\"},{\"id\":36863,\"sigla\":\"PCB\",\"nome\":\"Partido Constitucionalista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36863\"},{\"id\":36779,\"sigla\":\"PCdoB\",\"nome\":\"Partido Comunista do Brasil\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36779\"},{\"id\":36781,\"sigla\":\"PCO\",\"nome\":\"Partido da Causa Operária\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36781\"},{\"id\":36786,\"sigla\":\"PDT\",\"nome\":\"Partido Democrático Trabalhista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36786\"},{\"id\":36793,\"sigla\":\"PHS\",\"nome\":\"Partido Humanista da Solidariedade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36793\"},{\"id\":36887,\"sigla\":\"PMB\",\"nome\":\"Partido da Mulher Brasileira\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36887\"},{\"id\":36801,\"sigla\":\"PMN\",\"nome\":\"Partido da Mobilização Nacional\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36801\"},{\"id\":36896,\"sigla\":\"PODE\",\"nome\":\"Podemos\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36896\"},{\"id\":37903,\"sigla\":\"PP\",\"nome\":\"Progressistas\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37903\"},{\"id\":36762,\"sigla\":\"PPL\",\"nome\":\"Partido Pátria Livre\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36762\"},{\"id\":36813,\"sigla\":\"PPS\",\"nome\":\"Partido Popular Socialista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36813\"},{\"id\":36814,\"sigla\":\"PR\",\"nome\":\"Partido da República\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36814\"},{\"id\":36815,\"sigla\":\"PRB\",\"nome\":\"Partido Republicano Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36815\"},{\"id\":36763,\"sigla\":\"PROS\",\"nome\":\"Partido Republicano da Ordem Social\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36763\"},{\"id\":36824,\"sigla\":\"PRP\",\"nome\":\"Partido Republicano Progressista\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36824\"},{\"id\":36829,\"sigla\":\"PRTB\",\"nome\":\"Partido Renovador Trabalhista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36829\"},{\"id\":36832,\"sigla\":\"PSB\",\"nome\":\"Partido Socialista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36832\"},{\"id\":36833,\"sigla\":\"PSC\",\"nome\":\"Partido Social Cristão\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36833\"},{\"id\":36834,\"sigla\":\"PSD\",\"nome\":\"Partido Social Democrático\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36834\"},{\"id\":36835,\"sigla\":\"PSDB\",\"nome\":\"Partido da Social Democracia Brasileira\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36835\"},{\"id\":36837,\"sigla\":\"PSL\",\"nome\":\"Partido Social Liberal\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36837\"},{\"id\":36839,\"sigla\":\"PSOL\",\"nome\":\"Partido Socialismo e Liberdade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36839\"},{\"id\":36843,\"sigla\":\"PSTU\",\"nome\":\"Partido Socialista dos Trabalhadores Unificado\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36843\"},{\"id\":36844,\"sigla\":\"PT\",\"nome\":\"Partido dos Trabalhadores\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36844\"},{\"id\":36845,\"sigla\":\"PTB\",\"nome\":\"Partido Trabalhista Brasileiro\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36845\"},{\"id\":36846,\"sigla\":\"PTC\",\"nome\":\"Partido Trabalhista Cristão\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36846\"},{\"id\":36851,\"sigla\":\"PV\",\"nome\":\"Partido Verde\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36851\"},{\"id\":36886,\"sigla\":\"REDE\",\"nome\":\"Rede Sustentabilidade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36886\"},{\"id\":36852,\"sigla\":\"S.PART.\",\"nome\":\"Sem Partido\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/36852\"},{\"id\":37904,\"sigla\":\"SOLIDARIEDADE\",\"nome\":\"Solidariedade\",\"uri\":\"https://dadosabertos.camara.leg.br/api/v2/partidos/37904\"}],\"links\":[{\"rel\":\"self\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla\"},{\"rel\":\"first\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?&ordem=ASC&ordenarPor=sigla&pagina=1&itens=100\"},{\"rel\":\"last\",\"href\":\"https://dadosabertos.camara.leg.br/api/v2/partidos?&ordem=ASC&ordenarPor=sigla&pagina=1&itens=100\"}]}'"
33 | ]
34 | },
35 | "execution_count": 5,
36 | "metadata": {},
37 | "output_type": "execute_result"
38 | }
39 | ],
40 | "source": [
41 | "# Obter os dados da API da câmara dos deputados\n",
42 | "url = 'https://dadosabertos.camara.leg.br/api/v2/partidos?itens=100&ordem=ASC&ordenarPor=sigla'\n",
43 | "\n",
44 | "# Obtendo os dados\n",
45 | "resposta = requests.get(url)\n",
46 | "\n",
47 | "# Verificando a resposta\n",
48 | "resposta.text"
49 | ]
50 | },
51 | {
52 | "cell_type": "code",
53 | "execution_count": 6,
54 | "metadata": {},
55 | "outputs": [],
56 | "source": [
57 | "# Converter a resposta da API para DataFrame\n",
58 | "df = pd.DataFrame(resposta.json()['dados'])"
59 | ]
60 | },
61 | {
62 | "cell_type": "code",
63 | "execution_count": 7,
64 | "metadata": {},
65 | "outputs": [
66 | {
67 | "data": {
68 | "text/html": [
69 | "\n",
70 | "\n",
83 | "
\n",
84 | " \n",
85 | " \n",
86 | " \n",
87 | " id \n",
88 | " nome \n",
89 | " sigla \n",
90 | " uri \n",
91 | " \n",
92 | " \n",
93 | " \n",
94 | " \n",
95 | " 0 \n",
96 | " 36898 \n",
97 | " Avante \n",
98 | " AVANTE \n",
99 | " https://dadosabertos.camara.leg.br/api/v2/part... \n",
100 | " \n",
101 | " \n",
102 | " 1 \n",
103 | " 37902 \n",
104 | " Democracia Cristã \n",
105 | " DC \n",
106 | " https://dadosabertos.camara.leg.br/api/v2/part... \n",
107 | " \n",
108 | " \n",
109 | " 2 \n",
110 | " 36769 \n",
111 | " Democratas \n",
112 | " DEM \n",
113 | " https://dadosabertos.camara.leg.br/api/v2/part... \n",
114 | " \n",
115 | " \n",
116 | " 3 \n",
117 | " 36899 \n",
118 | " Movimento Democrático Brasileiro \n",
119 | " MDB \n",
120 | " https://dadosabertos.camara.leg.br/api/v2/part... \n",
121 | " \n",
122 | " \n",
123 | " 4 \n",
124 | " 37901 \n",
125 | " Partido Novo \n",
126 | " NOVO \n",
127 | " https://dadosabertos.camara.leg.br/api/v2/part... \n",
128 | " \n",
129 | " \n",
130 | "
\n",
131 | "
"
132 | ],
133 | "text/plain": [
134 | " id nome sigla \\\n",
135 | "0 36898 Avante AVANTE \n",
136 | "1 37902 Democracia Cristã DC \n",
137 | "2 36769 Democratas DEM \n",
138 | "3 36899 Movimento Democrático Brasileiro MDB \n",
139 | "4 37901 Partido Novo NOVO \n",
140 | "\n",
141 | " uri \n",
142 | "0 https://dadosabertos.camara.leg.br/api/v2/part... \n",
143 | "1 https://dadosabertos.camara.leg.br/api/v2/part... \n",
144 | "2 https://dadosabertos.camara.leg.br/api/v2/part... \n",
145 | "3 https://dadosabertos.camara.leg.br/api/v2/part... \n",
146 | "4 https://dadosabertos.camara.leg.br/api/v2/part... "
147 | ]
148 | },
149 | "execution_count": 7,
150 | "metadata": {},
151 | "output_type": "execute_result"
152 | }
153 | ],
154 | "source": [
155 | "# Exibindo os primeiros registros\n",
156 | "df.head()"
157 | ]
158 | },
159 | {
160 | "cell_type": "code",
161 | "execution_count": 9,
162 | "metadata": {},
163 | "outputs": [
164 | {
165 | "data": {
166 | "text/plain": [
167 | "36"
168 | ]
169 | },
170 | "execution_count": 9,
171 | "metadata": {},
172 | "output_type": "execute_result"
173 | }
174 | ],
175 | "source": [
176 | "# Qual é o número atual de partidos políticos que possuem representantes na casa\n",
177 | "df['sigla'].count()"
178 | ]
179 | },
180 | {
181 | "cell_type": "code",
182 | "execution_count": 10,
183 | "metadata": {},
184 | "outputs": [
185 | {
186 | "data": {
187 | "text/plain": [
188 | "0 Avante\n",
189 | "1 Democracia Cristã\n",
190 | "2 Democratas\n",
191 | "3 Movimento Democrático Brasileiro\n",
192 | "4 Partido Novo\n",
193 | "5 Patriota\n",
194 | "6 Partido Constitucionalista Brasileiro\n",
195 | "7 Partido Comunista do Brasil\n",
196 | "8 Partido da Causa Operária\n",
197 | "9 Partido Democrático Trabalhista\n",
198 | "10 Partido Humanista da Solidariedade\n",
199 | "11 Partido da Mulher Brasileira\n",
200 | "12 Partido da Mobilização Nacional\n",
201 | "13 Podemos\n",
202 | "14 Progressistas\n",
203 | "15 Partido Pátria Livre\n",
204 | "16 Partido Popular Socialista\n",
205 | "17 Partido da República\n",
206 | "18 Partido Republicano Brasileiro\n",
207 | "19 Partido Republicano da Ordem Social\n",
208 | "20 Partido Republicano Progressista\n",
209 | "21 Partido Renovador Trabalhista Brasileiro\n",
210 | "22 Partido Socialista Brasileiro\n",
211 | "23 Partido Social Cristão\n",
212 | "24 Partido Social Democrático\n",
213 | "25 Partido da Social Democracia Brasileira\n",
214 | "26 Partido Social Liberal\n",
215 | "27 Partido Socialismo e Liberdade\n",
216 | "28 Partido Socialista dos Trabalhadores Unificado\n",
217 | "29 Partido dos Trabalhadores\n",
218 | "30 Partido Trabalhista Brasileiro\n",
219 | "31 Partido Trabalhista Cristão\n",
220 | "32 Partido Verde\n",
221 | "33 Rede Sustentabilidade\n",
222 | "34 Sem Partido\n",
223 | "35 Solidariedade\n",
224 | "Name: nome, dtype: object"
225 | ]
226 | },
227 | "execution_count": 10,
228 | "metadata": {},
229 | "output_type": "execute_result"
230 | }
231 | ],
232 | "source": [
233 | "# Listar os nomes dos partidos\n",
234 | "df['nome']"
235 | ]
236 | },
237 | {
238 | "cell_type": "code",
239 | "execution_count": 13,
240 | "metadata": {},
241 | "outputs": [
242 | {
243 | "data": {
244 | "text/plain": [
245 | "'https://dadosabertos.camara.leg.br/api/v2/partidos/36898'"
246 | ]
247 | },
248 | "execution_count": 13,
249 | "metadata": {},
250 | "output_type": "execute_result"
251 | }
252 | ],
253 | "source": [
254 | "# Qualquer campo do DataFrame pode ser obtido utilizando as funções \n",
255 | "# de localização\n",
256 | "\n",
257 | "# O iloc retorna um campo com base no seu índice [linha, coluna]\n",
258 | "df.iloc[0, 3]"
259 | ]
260 | },
261 | {
262 | "cell_type": "code",
263 | "execution_count": 14,
264 | "metadata": {},
265 | "outputs": [
266 | {
267 | "data": {
268 | "text/plain": [
269 | "'https://dadosabertos.camara.leg.br/api/v2/partidos/36898'"
270 | ]
271 | },
272 | "execution_count": 14,
273 | "metadata": {},
274 | "output_type": "execute_result"
275 | }
276 | ],
277 | "source": [
278 | "# O loc retorna um campo com base no nome da coluna\n",
279 | "df.loc[0, 'uri']"
280 | ]
281 | },
282 | {
283 | "cell_type": "code",
284 | "execution_count": null,
285 | "metadata": {},
286 | "outputs": [],
287 | "source": []
288 | }
289 | ],
290 | "metadata": {
291 | "kernelspec": {
292 | "display_name": "Python 3",
293 | "language": "python",
294 | "name": "python3"
295 | },
296 | "language_info": {
297 | "codemirror_mode": {
298 | "name": "ipython",
299 | "version": 3
300 | },
301 | "file_extension": ".py",
302 | "mimetype": "text/x-python",
303 | "name": "python",
304 | "nbconvert_exporter": "python",
305 | "pygments_lexer": "ipython3",
306 | "version": "3.7.1"
307 | }
308 | },
309 | "nbformat": 4,
310 | "nbformat_minor": 2
311 | }
312 |
--------------------------------------------------------------------------------
/aula3/01_csv_senadores/2018.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/aula3/01_csv_senadores/2018.csv
--------------------------------------------------------------------------------
/aula3/01_csv_senadores/reembolsos_senadores_2018.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Análise dos dados de reembolso dos senadores - 2018"
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {},
14 | "outputs": [],
15 | "source": [
16 | "# Importando as bibliotecas\n",
17 | "import pandas as pd"
18 | ]
19 | },
20 | {
21 | "cell_type": "code",
22 | "execution_count": 9,
23 | "metadata": {},
24 | "outputs": [
25 | {
26 | "data": {
27 | "text/html": [
28 | "\n",
29 | "\n",
42 | "
\n",
43 | " \n",
44 | " \n",
45 | " \n",
46 | " ANO \n",
47 | " MES \n",
48 | " SENADOR \n",
49 | " TIPO_DESPESA \n",
50 | " CNPJ_CPF \n",
51 | " FORNECEDOR \n",
52 | " DOCUMENTO \n",
53 | " DATA \n",
54 | " DETALHAMENTO \n",
55 | " VALOR_REEMBOLSADO \n",
56 | " \n",
57 | " \n",
58 | " \n",
59 | " \n",
60 | " 0 \n",
61 | " 2018 \n",
62 | " 1 \n",
63 | " ACIR GURGACZ \n",
64 | " Aluguel de imóveis para escritório político, c... \n",
65 | " 004.948.028-63 \n",
66 | " GILBERTO PISELO DO NASCIMENTO \n",
67 | " NaN \n",
68 | " 02/01/2018 \n",
69 | " Despesa com pagamento de aluguel de imóvel par... \n",
70 | " 6000.00 \n",
71 | " \n",
72 | " \n",
73 | " 1 \n",
74 | " 2018 \n",
75 | " 1 \n",
76 | " ACIR GURGACZ \n",
77 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
78 | " 63.764.211/0001-10 \n",
79 | " TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA \n",
80 | " M2CJMM \n",
81 | " 02/01/2018 \n",
82 | " Companhia Aérea: AVIANCA, Localizador: M2CJMM.... \n",
83 | " 274.99 \n",
84 | " \n",
85 | " \n",
86 | " 2 \n",
87 | " 2018 \n",
88 | " 1 \n",
89 | " ACIR GURGACZ \n",
90 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
91 | " 63.764.211/0001-10 \n",
92 | " TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA \n",
93 | " SFEXYF \n",
94 | " 02/01/2018 \n",
95 | " Companhia Aérea: LATAM, Localizador: SFEXYF. P... \n",
96 | " 1094.29 \n",
97 | " \n",
98 | " \n",
99 | " 3 \n",
100 | " 2018 \n",
101 | " 1 \n",
102 | " ACIR GURGACZ \n",
103 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
104 | " 63.764.211/0001-10 \n",
105 | " TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA \n",
106 | " V64HTR \n",
107 | " 24/01/2018 \n",
108 | " Companhia Aérea: AZUL, Localizador: V64HTR. Pa... \n",
109 | " 1553.99 \n",
110 | " \n",
111 | " \n",
112 | " 4 \n",
113 | " 2018 \n",
114 | " 2 \n",
115 | " ACIR GURGACZ \n",
116 | " Aluguel de imóveis para escritório político, c... \n",
117 | " 004.948.028-63 \n",
118 | " GILBERTO PISELO DO NASCIMENTO \n",
119 | " 002/18 \n",
120 | " 01/02/2018 \n",
121 | " Despesa com pagamento de aluguel de imóvel par... \n",
122 | " 6000.00 \n",
123 | " \n",
124 | " \n",
125 | "
\n",
126 | "
"
127 | ],
128 | "text/plain": [
129 | " ANO MES SENADOR TIPO_DESPESA \\\n",
130 | "0 2018 1 ACIR GURGACZ Aluguel de imóveis para escritório político, c... \n",
131 | "1 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n",
132 | "2 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n",
133 | "3 2018 1 ACIR GURGACZ Passagens aéreas, aquáticas e terrestres nacio... \n",
134 | "4 2018 2 ACIR GURGACZ Aluguel de imóveis para escritório político, c... \n",
135 | "\n",
136 | " CNPJ_CPF FORNECEDOR DOCUMENTO \\\n",
137 | "0 004.948.028-63 GILBERTO PISELO DO NASCIMENTO NaN \n",
138 | "1 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA M2CJMM \n",
139 | "2 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA SFEXYF \n",
140 | "3 63.764.211/0001-10 TRANSCONTINENTAL AGÊNCIA DE VIAGENS LTDA V64HTR \n",
141 | "4 004.948.028-63 GILBERTO PISELO DO NASCIMENTO 002/18 \n",
142 | "\n",
143 | " DATA DETALHAMENTO \\\n",
144 | "0 02/01/2018 Despesa com pagamento de aluguel de imóvel par... \n",
145 | "1 02/01/2018 Companhia Aérea: AVIANCA, Localizador: M2CJMM.... \n",
146 | "2 02/01/2018 Companhia Aérea: LATAM, Localizador: SFEXYF. P... \n",
147 | "3 24/01/2018 Companhia Aérea: AZUL, Localizador: V64HTR. Pa... \n",
148 | "4 01/02/2018 Despesa com pagamento de aluguel de imóvel par... \n",
149 | "\n",
150 | " VALOR_REEMBOLSADO \n",
151 | "0 6000.00 \n",
152 | "1 274.99 \n",
153 | "2 1094.29 \n",
154 | "3 1553.99 \n",
155 | "4 6000.00 "
156 | ]
157 | },
158 | "execution_count": 9,
159 | "metadata": {},
160 | "output_type": "execute_result"
161 | }
162 | ],
163 | "source": [
164 | "# Carregar o arquivo csv\n",
165 | "df = pd.read_csv('2018.csv', sep=';', encoding='cp1252', skiprows=1, decimal=',')\n",
166 | "\n",
167 | "df.head()"
168 | ]
169 | },
170 | {
171 | "cell_type": "code",
172 | "execution_count": 10,
173 | "metadata": {},
174 | "outputs": [
175 | {
176 | "name": "stdout",
177 | "output_type": "stream",
178 | "text": [
179 | "\n",
180 | "RangeIndex: 24492 entries, 0 to 24491\n",
181 | "Data columns (total 10 columns):\n",
182 | "ANO 24492 non-null int64\n",
183 | "MES 24492 non-null int64\n",
184 | "SENADOR 24492 non-null object\n",
185 | "TIPO_DESPESA 24492 non-null object\n",
186 | "CNPJ_CPF 24492 non-null object\n",
187 | "FORNECEDOR 24492 non-null object\n",
188 | "DOCUMENTO 23476 non-null object\n",
189 | "DATA 24492 non-null object\n",
190 | "DETALHAMENTO 18882 non-null object\n",
191 | "VALOR_REEMBOLSADO 24492 non-null float64\n",
192 | "dtypes: float64(1), int64(2), object(7)\n",
193 | "memory usage: 1.9+ MB\n"
194 | ]
195 | }
196 | ],
197 | "source": [
198 | "# Verificar tamanhos e tipos dos dados\n",
199 | "df.info()"
200 | ]
201 | },
202 | {
203 | "cell_type": "code",
204 | "execution_count": 11,
205 | "metadata": {},
206 | "outputs": [
207 | {
208 | "data": {
209 | "text/html": [
210 | "\n",
211 | "\n",
224 | "
\n",
225 | " \n",
226 | " \n",
227 | " \n",
228 | " ANO \n",
229 | " MES \n",
230 | " VALOR_REEMBOLSADO \n",
231 | " \n",
232 | " \n",
233 | " \n",
234 | " \n",
235 | " count \n",
236 | " 24492.0 \n",
237 | " 24492.000000 \n",
238 | " 24492.000000 \n",
239 | " \n",
240 | " \n",
241 | " mean \n",
242 | " 2018.0 \n",
243 | " 6.192226 \n",
244 | " 1045.431215 \n",
245 | " \n",
246 | " \n",
247 | " std \n",
248 | " 0.0 \n",
249 | " 3.305847 \n",
250 | " 2718.840577 \n",
251 | " \n",
252 | " \n",
253 | " min \n",
254 | " 2018.0 \n",
255 | " 1.000000 \n",
256 | " 0.010000 \n",
257 | " \n",
258 | " \n",
259 | " 25% \n",
260 | " 2018.0 \n",
261 | " 3.000000 \n",
262 | " 125.000000 \n",
263 | " \n",
264 | " \n",
265 | " 50% \n",
266 | " 2018.0 \n",
267 | " 6.000000 \n",
268 | " 287.200000 \n",
269 | " \n",
270 | " \n",
271 | " 75% \n",
272 | " 2018.0 \n",
273 | " 9.000000 \n",
274 | " 1032.005000 \n",
275 | " \n",
276 | " \n",
277 | " max \n",
278 | " 2018.0 \n",
279 | " 12.000000 \n",
280 | " 103900.000000 \n",
281 | " \n",
282 | " \n",
283 | "
\n",
284 | "
"
285 | ],
286 | "text/plain": [
287 | " ANO MES VALOR_REEMBOLSADO\n",
288 | "count 24492.0 24492.000000 24492.000000\n",
289 | "mean 2018.0 6.192226 1045.431215\n",
290 | "std 0.0 3.305847 2718.840577\n",
291 | "min 2018.0 1.000000 0.010000\n",
292 | "25% 2018.0 3.000000 125.000000\n",
293 | "50% 2018.0 6.000000 287.200000\n",
294 | "75% 2018.0 9.000000 1032.005000\n",
295 | "max 2018.0 12.000000 103900.000000"
296 | ]
297 | },
298 | "execution_count": 11,
299 | "metadata": {},
300 | "output_type": "execute_result"
301 | }
302 | ],
303 | "source": [
304 | "# Mostra uma análise quantitativa dos dados\n",
305 | "df.describe()"
306 | ]
307 | },
308 | {
309 | "cell_type": "code",
310 | "execution_count": 12,
311 | "metadata": {},
312 | "outputs": [
313 | {
314 | "data": {
315 | "text/plain": [
316 | "25604701.33"
317 | ]
318 | },
319 | "execution_count": 12,
320 | "metadata": {},
321 | "output_type": "execute_result"
322 | }
323 | ],
324 | "source": [
325 | "# qual o total de reembolsos?\n",
326 | "df['VALOR_REEMBOLSADO'].sum()"
327 | ]
328 | },
329 | {
330 | "cell_type": "code",
331 | "execution_count": 19,
332 | "metadata": {},
333 | "outputs": [
334 | {
335 | "data": {
336 | "text/plain": [
337 | "EDUARDO LOPES 864\n",
338 | "PAULO BAUER 824\n",
339 | "WELLINGTON FAGUNDES 800\n",
340 | "JOSÉ SERRA 715\n",
341 | "GLEISI HOFFMANN 653\n",
342 | "HUMBERTO COSTA 648\n",
343 | "LÍDICE DA MATA 628\n",
344 | "JOSÉ MEDEIROS 598\n",
345 | "FERNANDO BEZERRA COELHO 560\n",
346 | "ARMANDO MONTEIRO 550\n",
347 | "PAULO PAIM 547\n",
348 | "JOÃO CAPIBERIBE 539\n",
349 | "ANA AMÉLIA 495\n",
350 | "RONALDO CAIADO 486\n",
351 | "JOSÉ PIMENTEL 477\n",
352 | "PEDRO CHAVES DOS SANTOS FILHO 440\n",
353 | "EDUARDO AMORIM 438\n",
354 | "ROBERTO REQUIÃO 436\n",
355 | "PAULO ROCHA 424\n",
356 | "ROMERO JUCÁ 415\n",
357 | "FÁTIMA BEZERRA 407\n",
358 | "MARTA SUPLICY 398\n",
359 | "ROBERTO MUNIZ 380\n",
360 | "ZEZÉ PERRELLA 371\n",
361 | "WALDEMIR MOKA 370\n",
362 | "AIRTON SANDOVAL 363\n",
363 | "CÁSSIO CUNHA LIMA 362\n",
364 | "DALIRIO BEBER 361\n",
365 | "JORGE VIANA 356\n",
366 | "VANESSA GRAZZIOTIN 350\n",
367 | " ... \n",
368 | "EDUARDO BRAGA 133\n",
369 | "OTTO ALENCAR 132\n",
370 | "MARIA DO CARMO ALVES 129\n",
371 | "JOÃO ALBERTO SOUZA 125\n",
372 | "ANTÔNIO CARLOS VALADARES 117\n",
373 | "ACIR GURGACZ 114\n",
374 | "PASTOR BEL 113\n",
375 | "DAVI ALCOLUMBRE 112\n",
376 | "RUDSON LEITE 111\n",
377 | "HÉLIO JOSÉ 109\n",
378 | "JOSÉ AMAURI 101\n",
379 | "REDITARIO CASSOL 87\n",
380 | "GUARACY SILVEIRA 79\n",
381 | "SÉRGIO PETECÃO 75\n",
382 | "KÁTIA ABREU 72\n",
383 | "SÉRGIO DE CASTRO 66\n",
384 | "RODRIGUES PALMA 62\n",
385 | "GIVAGO TENÓRIO 57\n",
386 | "WALTER PINHEIRO 51\n",
387 | "VICENTINHO ALVES 51\n",
388 | "EDISON LOBÃO 49\n",
389 | "ELBER BATALHA 47\n",
390 | "IONE GUIMARÃES 44\n",
391 | "TASSO JEREISSATI 44\n",
392 | "OMAR AZIZ 42\n",
393 | "ALVARO DIAS 40\n",
394 | "FERNANDO COLLOR 27\n",
395 | "JADER BARBALHO 19\n",
396 | "CRISTOVAM BUARQUE 16\n",
397 | "ZÉ SANTANA 8\n",
398 | "Name: SENADOR, Length: 91, dtype: int64"
399 | ]
400 | },
401 | "execution_count": 19,
402 | "metadata": {},
403 | "output_type": "execute_result"
404 | }
405 | ],
406 | "source": [
407 | "# Quantos reembolsos foram solicitados por cada senador?\n",
408 | "df['SENADOR'].value_counts()"
409 | ]
410 | },
411 | {
412 | "cell_type": "code",
413 | "execution_count": 23,
414 | "metadata": {},
415 | "outputs": [
416 | {
417 | "data": {
418 | "text/plain": [
419 | "SENADOR\n",
420 | "EDUARDO BRAGA 529599.18\n",
421 | "VANESSA GRAZZIOTIN 515969.63\n",
422 | "JOÃO CAPIBERIBE 513333.90\n",
423 | "ÂNGELA PORTELA 485806.44\n",
424 | "OMAR AZIZ 484143.98\n",
425 | "CIRO NOGUEIRA 455942.09\n",
426 | "ROMERO JUCÁ 454526.97\n",
427 | "GLADSON CAMELI 443981.70\n",
428 | "FERNANDO COLLOR 435944.08\n",
429 | "JORGE VIANA 430121.30\n",
430 | "JOÃO ALBERTO SOUZA 429438.67\n",
431 | "HUMBERTO COSTA 427887.25\n",
432 | "GARIBALDI ALVES FILHO 418031.85\n",
433 | "WELLINGTON FAGUNDES 417778.67\n",
434 | "PAULO PAIM 415787.11\n",
435 | "ARMANDO MONTEIRO 415294.82\n",
436 | "JOSÉ MEDEIROS 411414.35\n",
437 | "PAULO ROCHA 405973.91\n",
438 | "JOSÉ PIMENTEL 405661.25\n",
439 | "FLEXA RIBEIRO 405371.13\n",
440 | "VALDIR RAUPP 405234.22\n",
441 | "CÁSSIO CUNHA LIMA 398600.17\n",
442 | "MAGNO MALTA 397409.37\n",
443 | "ROBERTO ROCHA 386876.10\n",
444 | "LINDBERGH FARIAS 379909.54\n",
445 | "PEDRO CHAVES DOS SANTOS FILHO 379386.06\n",
446 | "ROSE DE FREITAS 378182.77\n",
447 | "RAIMUNDO LIRA 375386.72\n",
448 | "RANDOLFE RODRIGUES 373214.08\n",
449 | "FERNANDO BEZERRA COELHO 367535.16\n",
450 | " ... \n",
451 | "DALIRIO BEBER 213061.41\n",
452 | "LÚCIA VÂNIA 212556.52\n",
453 | "ANTÔNIO CARLOS VALADARES 212072.07\n",
454 | "KÁTIA ABREU 205291.80\n",
455 | "DÁRIO BERGER 199500.30\n",
456 | "TASSO JEREISSATI 195793.53\n",
457 | "OTTO ALENCAR 183048.34\n",
458 | "JOSÉ MARANHÃO 177914.91\n",
459 | "RENAN CALHEIROS 169975.04\n",
460 | "WILDER MORAIS 159069.64\n",
461 | "CIDINHO SANTOS 156965.76\n",
462 | "JOSÉ AMAURI 150165.53\n",
463 | "REDITARIO CASSOL 149322.99\n",
464 | "ANA AMÉLIA 147226.50\n",
465 | "MARIA DO CARMO ALVES 146810.60\n",
466 | "ELBER BATALHA 125533.35\n",
467 | "SIMONE TEBET 124102.62\n",
468 | "PASTOR BEL 123515.72\n",
469 | "RUDSON LEITE 123015.14\n",
470 | "BENEDITO DE LIRA 122405.46\n",
471 | "GIVAGO TENÓRIO 80164.46\n",
472 | "SÉRGIO DE CASTRO 54318.55\n",
473 | "RODRIGUES PALMA 52676.18\n",
474 | "GUARACY SILVEIRA 50430.40\n",
475 | "JADER BARBALHO 44323.47\n",
476 | "ALVARO DIAS 44037.88\n",
477 | "WALTER PINHEIRO 32733.67\n",
478 | "CRISTOVAM BUARQUE 32400.00\n",
479 | "ZÉ SANTANA 23300.67\n",
480 | "IONE GUIMARÃES 11379.91\n",
481 | "Name: VALOR_REEMBOLSADO, Length: 91, dtype: float64"
482 | ]
483 | },
484 | "execution_count": 23,
485 | "metadata": {},
486 | "output_type": "execute_result"
487 | }
488 | ],
489 | "source": [
490 | "# Quanto cada senador solicitou de reembolso?\n",
491 | "df.groupby(['SENADOR'])['VALOR_REEMBOLSADO'].sum().sort_values(ascending=False)"
492 | ]
493 | },
494 | {
495 | "cell_type": "code",
496 | "execution_count": 29,
497 | "metadata": {},
498 | "outputs": [
499 | {
500 | "data": {
501 | "text/html": [
502 | "\n",
503 | "\n",
516 | "
\n",
517 | " \n",
518 | " \n",
519 | " \n",
520 | " 21225 \n",
521 | " 21488 \n",
522 | " 21491 \n",
523 | " 22666 \n",
524 | " 5573 \n",
525 | " \n",
526 | " \n",
527 | " \n",
528 | " \n",
529 | " ANO \n",
530 | " 2018 \n",
531 | " 2018 \n",
532 | " 2018 \n",
533 | " 2018 \n",
534 | " 2018 \n",
535 | " \n",
536 | " \n",
537 | " MES \n",
538 | " 12 \n",
539 | " 11 \n",
540 | " 12 \n",
541 | " 12 \n",
542 | " 12 \n",
543 | " \n",
544 | " \n",
545 | " SENADOR \n",
546 | " ROSE DE FREITAS \n",
547 | " SÉRGIO PETECÃO \n",
548 | " SÉRGIO PETECÃO \n",
549 | " VANESSA GRAZZIOTIN \n",
550 | " EDUARDO LOPES \n",
551 | " \n",
552 | " \n",
553 | " TIPO_DESPESA \n",
554 | " Divulgação da atividade parlamentar \n",
555 | " Contratação de consultorias, assessorias, pesq... \n",
556 | " Contratação de consultorias, assessorias, pesq... \n",
557 | " Contratação de consultorias, assessorias, pesq... \n",
558 | " Divulgação da atividade parlamentar \n",
559 | " \n",
560 | " \n",
561 | " CNPJ_CPF \n",
562 | " 05.461.408/0001-84 \n",
563 | " 22.233.033/0001-14 \n",
564 | " 22.233.033/0001-14 \n",
565 | " 28.916.527/0001-80 \n",
566 | " 14.616.988/0001-22 \n",
567 | " \n",
568 | " \n",
569 | " FORNECEDOR \n",
570 | " Grafitusa S/A \n",
571 | " Reis Grafica e Comercio de Etiquetas Eireli ME \n",
572 | " Reis Grafica e Comercio de Etiquetas Eireli ME \n",
573 | " A MAQUINA SOLUCOES EM MIDIA LTDA ME \n",
574 | " NG Comunicação Visual Ltda \n",
575 | " \n",
576 | " \n",
577 | " DOCUMENTO \n",
578 | " 000009681 \n",
579 | " 4193 \n",
580 | " 000004252 \n",
581 | " 048 \n",
582 | " 00000714 \n",
583 | " \n",
584 | " \n",
585 | " DATA \n",
586 | " 29/03/2019 \n",
587 | " 29/11/2018 \n",
588 | " 17/12/2018 \n",
589 | " 17/12/2018 \n",
590 | " 05/12/2018 \n",
591 | " \n",
592 | " \n",
593 | " DETALHAMENTO \n",
594 | " NaN \n",
595 | " NaN \n",
596 | " NaN \n",
597 | " TRABALHOS TÉCNICOS DE APOIO AO EXERCICIO DO MA... \n",
598 | " NaN \n",
599 | " \n",
600 | " \n",
601 | " VALOR_REEMBOLSADO \n",
602 | " 103900 \n",
603 | " 102000 \n",
604 | " 102000 \n",
605 | " 100000 \n",
606 | " 66000 \n",
607 | " \n",
608 | " \n",
609 | "
\n",
610 | "
"
611 | ],
612 | "text/plain": [
613 | " 21225 \\\n",
614 | "ANO 2018 \n",
615 | "MES 12 \n",
616 | "SENADOR ROSE DE FREITAS \n",
617 | "TIPO_DESPESA Divulgação da atividade parlamentar \n",
618 | "CNPJ_CPF 05.461.408/0001-84 \n",
619 | "FORNECEDOR Grafitusa S/A \n",
620 | "DOCUMENTO 000009681 \n",
621 | "DATA 29/03/2019 \n",
622 | "DETALHAMENTO NaN \n",
623 | "VALOR_REEMBOLSADO 103900 \n",
624 | "\n",
625 | " 21488 \\\n",
626 | "ANO 2018 \n",
627 | "MES 11 \n",
628 | "SENADOR SÉRGIO PETECÃO \n",
629 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n",
630 | "CNPJ_CPF 22.233.033/0001-14 \n",
631 | "FORNECEDOR Reis Grafica e Comercio de Etiquetas Eireli ME \n",
632 | "DOCUMENTO 4193 \n",
633 | "DATA 29/11/2018 \n",
634 | "DETALHAMENTO NaN \n",
635 | "VALOR_REEMBOLSADO 102000 \n",
636 | "\n",
637 | " 21491 \\\n",
638 | "ANO 2018 \n",
639 | "MES 12 \n",
640 | "SENADOR SÉRGIO PETECÃO \n",
641 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n",
642 | "CNPJ_CPF 22.233.033/0001-14 \n",
643 | "FORNECEDOR Reis Grafica e Comercio de Etiquetas Eireli ME \n",
644 | "DOCUMENTO 000004252 \n",
645 | "DATA 17/12/2018 \n",
646 | "DETALHAMENTO NaN \n",
647 | "VALOR_REEMBOLSADO 102000 \n",
648 | "\n",
649 | " 22666 \\\n",
650 | "ANO 2018 \n",
651 | "MES 12 \n",
652 | "SENADOR VANESSA GRAZZIOTIN \n",
653 | "TIPO_DESPESA Contratação de consultorias, assessorias, pesq... \n",
654 | "CNPJ_CPF 28.916.527/0001-80 \n",
655 | "FORNECEDOR A MAQUINA SOLUCOES EM MIDIA LTDA ME \n",
656 | "DOCUMENTO 048 \n",
657 | "DATA 17/12/2018 \n",
658 | "DETALHAMENTO TRABALHOS TÉCNICOS DE APOIO AO EXERCICIO DO MA... \n",
659 | "VALOR_REEMBOLSADO 100000 \n",
660 | "\n",
661 | " 5573 \n",
662 | "ANO 2018 \n",
663 | "MES 12 \n",
664 | "SENADOR EDUARDO LOPES \n",
665 | "TIPO_DESPESA Divulgação da atividade parlamentar \n",
666 | "CNPJ_CPF 14.616.988/0001-22 \n",
667 | "FORNECEDOR NG Comunicação Visual Ltda \n",
668 | "DOCUMENTO 00000714 \n",
669 | "DATA 05/12/2018 \n",
670 | "DETALHAMENTO NaN \n",
671 | "VALOR_REEMBOLSADO 66000 "
672 | ]
673 | },
674 | "execution_count": 29,
675 | "metadata": {},
676 | "output_type": "execute_result"
677 | }
678 | ],
679 | "source": [
680 | "# Quais são os 5 maiores valores de reembolso?\n",
681 | "df.nlargest(5, 'VALOR_REEMBOLSADO').T"
682 | ]
683 | },
684 | {
685 | "cell_type": "code",
686 | "execution_count": 30,
687 | "metadata": {},
688 | "outputs": [
689 | {
690 | "data": {
691 | "text/html": [
692 | "\n",
693 | "\n",
706 | "
\n",
707 | " \n",
708 | " \n",
709 | " \n",
710 | " 3868 \n",
711 | " 10161 \n",
712 | " 10191 \n",
713 | " 10196 \n",
714 | " 10233 \n",
715 | " \n",
716 | " \n",
717 | " \n",
718 | " \n",
719 | " ANO \n",
720 | " 2018 \n",
721 | " 2018 \n",
722 | " 2018 \n",
723 | " 2018 \n",
724 | " 2018 \n",
725 | " \n",
726 | " \n",
727 | " MES \n",
728 | " 5 \n",
729 | " 3 \n",
730 | " 4 \n",
731 | " 4 \n",
732 | " 5 \n",
733 | " \n",
734 | " \n",
735 | " SENADOR \n",
736 | " DÁRIO BERGER \n",
737 | " JORGE VIANA \n",
738 | " JORGE VIANA \n",
739 | " JORGE VIANA \n",
740 | " JORGE VIANA \n",
741 | " \n",
742 | " \n",
743 | " TIPO_DESPESA \n",
744 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
745 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
746 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
747 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
748 | " Passagens aéreas, aquáticas e terrestres nacio... \n",
749 | " \n",
750 | " \n",
751 | " CNPJ_CPF \n",
752 | " 02.575.829/0001-48 \n",
753 | " 33.937.681/0001-78 \n",
754 | " 07.575.651/0001-59 \n",
755 | " 33.937.681/0001-78 \n",
756 | " 33.937.681/0001-78 \n",
757 | " \n",
758 | " \n",
759 | " FORNECEDOR \n",
760 | " AVIANCA BRASIL \n",
761 | " LATAM \n",
762 | " GOL TRANSPORTES AÉREOS S/A \n",
763 | " LATAM \n",
764 | " LATAM \n",
765 | " \n",
766 | " \n",
767 | " DOCUMENTO \n",
768 | " K5RKJV \n",
769 | " W4UUE7 \n",
770 | " ZHV36P \n",
771 | " W6ZMK3 \n",
772 | " OZALEF \n",
773 | " \n",
774 | " \n",
775 | " DATA \n",
776 | " 29/05/2018 \n",
777 | " 21/03/2018 \n",
778 | " 09/03/2018 \n",
779 | " 17/04/2018 \n",
780 | " 22/05/2018 \n",
781 | " \n",
782 | " \n",
783 | " DETALHAMENTO \n",
784 | " Companhia Aérea: AVIANCA, Localizador: K5RKJV.... \n",
785 | " Companhia Aérea: LATAM, Localizador: W4UUE7. P... \n",
786 | " Companhia Aérea: GOL, Localizador: ZHV36P. Pas... \n",
787 | " Companhia Aérea: LATAM, Localizador: W6ZMK3. P... \n",
788 | " Companhia Aérea: LATAM, Localizador: OZALEF. P... \n",
789 | " \n",
790 | " \n",
791 | " VALOR_REEMBOLSADO \n",
792 | " 0.01 \n",
793 | " 0.01 \n",
794 | " 0.01 \n",
795 | " 0.01 \n",
796 | " 0.01 \n",
797 | " \n",
798 | " \n",
799 | "
\n",
800 | "
"
801 | ],
802 | "text/plain": [
803 | " 3868 \\\n",
804 | "ANO 2018 \n",
805 | "MES 5 \n",
806 | "SENADOR DÁRIO BERGER \n",
807 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n",
808 | "CNPJ_CPF 02.575.829/0001-48 \n",
809 | "FORNECEDOR AVIANCA BRASIL \n",
810 | "DOCUMENTO K5RKJV \n",
811 | "DATA 29/05/2018 \n",
812 | "DETALHAMENTO Companhia Aérea: AVIANCA, Localizador: K5RKJV.... \n",
813 | "VALOR_REEMBOLSADO 0.01 \n",
814 | "\n",
815 | " 10161 \\\n",
816 | "ANO 2018 \n",
817 | "MES 3 \n",
818 | "SENADOR JORGE VIANA \n",
819 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n",
820 | "CNPJ_CPF 33.937.681/0001-78 \n",
821 | "FORNECEDOR LATAM \n",
822 | "DOCUMENTO W4UUE7 \n",
823 | "DATA 21/03/2018 \n",
824 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: W4UUE7. P... \n",
825 | "VALOR_REEMBOLSADO 0.01 \n",
826 | "\n",
827 | " 10191 \\\n",
828 | "ANO 2018 \n",
829 | "MES 4 \n",
830 | "SENADOR JORGE VIANA \n",
831 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n",
832 | "CNPJ_CPF 07.575.651/0001-59 \n",
833 | "FORNECEDOR GOL TRANSPORTES AÉREOS S/A \n",
834 | "DOCUMENTO ZHV36P \n",
835 | "DATA 09/03/2018 \n",
836 | "DETALHAMENTO Companhia Aérea: GOL, Localizador: ZHV36P. Pas... \n",
837 | "VALOR_REEMBOLSADO 0.01 \n",
838 | "\n",
839 | " 10196 \\\n",
840 | "ANO 2018 \n",
841 | "MES 4 \n",
842 | "SENADOR JORGE VIANA \n",
843 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n",
844 | "CNPJ_CPF 33.937.681/0001-78 \n",
845 | "FORNECEDOR LATAM \n",
846 | "DOCUMENTO W6ZMK3 \n",
847 | "DATA 17/04/2018 \n",
848 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: W6ZMK3. P... \n",
849 | "VALOR_REEMBOLSADO 0.01 \n",
850 | "\n",
851 | " 10233 \n",
852 | "ANO 2018 \n",
853 | "MES 5 \n",
854 | "SENADOR JORGE VIANA \n",
855 | "TIPO_DESPESA Passagens aéreas, aquáticas e terrestres nacio... \n",
856 | "CNPJ_CPF 33.937.681/0001-78 \n",
857 | "FORNECEDOR LATAM \n",
858 | "DOCUMENTO OZALEF \n",
859 | "DATA 22/05/2018 \n",
860 | "DETALHAMENTO Companhia Aérea: LATAM, Localizador: OZALEF. P... \n",
861 | "VALOR_REEMBOLSADO 0.01 "
862 | ]
863 | },
864 | "execution_count": 30,
865 | "metadata": {},
866 | "output_type": "execute_result"
867 | }
868 | ],
869 | "source": [
870 | "# Quais são os 5 menos reembolsos?\n",
871 | "df.nsmallest(5, 'VALOR_REEMBOLSADO').T"
872 | ]
873 | },
874 | {
875 | "cell_type": "code",
876 | "execution_count": 33,
877 | "metadata": {},
878 | "outputs": [
879 | {
880 | "data": {
881 | "text/plain": [
882 | "Locomoção, hospedagem, alimentação, combustíveis e lubrificantes 10147\n",
883 | "Passagens aéreas, aquáticas e terrestres nacionais 5820\n",
884 | "Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles. 5042\n",
885 | "Aquisição de material de consumo para uso no escritório político, inclusive aquisição ou locação de software, despesas postais, aquisição de publicações, locação de móveis e de equipamentos. 1761\n",
886 | "Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar 928\n",
887 | "Divulgação da atividade parlamentar 750\n",
888 | "Serviços de Segurança Privada 44\n",
889 | "Name: TIPO_DESPESA, dtype: int64"
890 | ]
891 | },
892 | "execution_count": 33,
893 | "metadata": {},
894 | "output_type": "execute_result"
895 | }
896 | ],
897 | "source": [
898 | "# Quantidade de reembolsos por tipo de despesa\n",
899 | "df['TIPO_DESPESA'].value_counts()"
900 | ]
901 | },
902 | {
903 | "cell_type": "code",
904 | "execution_count": 35,
905 | "metadata": {},
906 | "outputs": [
907 | {
908 | "data": {
909 | "text/plain": [
910 | "TIPO_DESPESA\n",
911 | "Passagens aéreas, aquáticas e terrestres nacionais 6335284.94\n",
912 | "Locomoção, hospedagem, alimentação, combustíveis e lubrificantes 5620092.84\n",
913 | "Aluguel de imóveis para escritório político, compreendendo despesas concernentes a eles. 5041438.25\n",
914 | "Contratação de consultorias, assessorias, pesquisas, trabalhos técnicos e outros serviços de apoio ao exercício do mandato parlamentar 4966449.41\n",
915 | "Divulgação da atividade parlamentar 2568910.24\n",
916 | "Aquisição de material de consumo para uso no escritório político, inclusive aquisição ou locação de software, despesas postais, aquisição de publicações, locação de móveis e de equipamentos. 900312.04\n",
917 | "Serviços de Segurança Privada 172213.61\n",
918 | "Name: VALOR_REEMBOLSADO, dtype: float64"
919 | ]
920 | },
921 | "execution_count": 35,
922 | "metadata": {},
923 | "output_type": "execute_result"
924 | }
925 | ],
926 | "source": [
927 | "# Quais são os valores totais de reembolso por tipo de despesa?\n",
928 | "df.groupby('TIPO_DESPESA')['VALOR_REEMBOLSADO'].sum().sort_values(ascending=False)"
929 | ]
930 | },
931 | {
932 | "cell_type": "code",
933 | "execution_count": null,
934 | "metadata": {},
935 | "outputs": [],
936 | "source": []
937 | }
938 | ],
939 | "metadata": {
940 | "kernelspec": {
941 | "display_name": "Python 3",
942 | "language": "python",
943 | "name": "python3"
944 | },
945 | "language_info": {
946 | "codemirror_mode": {
947 | "name": "ipython",
948 | "version": 3
949 | },
950 | "file_extension": ".py",
951 | "mimetype": "text/x-python",
952 | "name": "python",
953 | "nbconvert_exporter": "python",
954 | "pygments_lexer": "ipython3",
955 | "version": "3.7.1"
956 | }
957 | },
958 | "nbformat": 4,
959 | "nbformat_minor": 2
960 | }
961 |
--------------------------------------------------------------------------------
/csv_pronatec.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 3,
6 | "metadata": {},
7 | "outputs": [],
8 | "source": [
9 | "# Importando bibliotecas\n",
10 | "# Por convenção vamos chamar o pandas de pd\n",
11 | "import pandas as pd"
12 | ]
13 | },
14 | {
15 | "cell_type": "code",
16 | "execution_count": 12,
17 | "metadata": {},
18 | "outputs": [
19 | {
20 | "data": {
21 | "text/html": [
22 | "\n",
23 | "\n",
36 | "
\n",
37 | " \n",
38 | " \n",
39 | " \n",
40 | " CODIGO_UNIDADE \n",
41 | " NOME_UNIDADE \n",
42 | " DT_AUTORIZA_FUNCIONA_UNID \n",
43 | " NOME_REGIAO_UNIDADE \n",
44 | " SIGLA_UF_UNIDADE \n",
45 | " NOME_MUNICIPIO_UNIDADE \n",
46 | " NOME_MESORREGIAO_UNIDADE \n",
47 | " NOME_MICRORREGIAO_UNIDADE \n",
48 | " \n",
49 | " \n",
50 | " \n",
51 | " \n",
52 | " 0 \n",
53 | " 2879 \n",
54 | " INSTITUTO FEDERAL DA BAHIA - CAMPUS EUNÁPOLIS \n",
55 | " 07-01-2009 \n",
56 | " Nordeste \n",
57 | " BA \n",
58 | " Eunápolis \n",
59 | " Sul Baiano \n",
60 | " Porto Seguro \n",
61 | " \n",
62 | " \n",
63 | " 1 \n",
64 | " 2948 \n",
65 | " INSTITUTO FEDERAL BAIANO - CAMPUS ITAPETINGA \n",
66 | " 07-01-2009 \n",
67 | " Nordeste \n",
68 | " BA \n",
69 | " Itapetinga \n",
70 | " Centro Sul Baiano \n",
71 | " Itapetinga \n",
72 | " \n",
73 | " \n",
74 | " 2 \n",
75 | " 14328 \n",
76 | " INSTITUTO FEDERAL DO ACRE - CAMPUS SENA MADUREIRA \n",
77 | " 30-12-2008 \n",
78 | " Norte \n",
79 | " AC \n",
80 | " Sena Madureira \n",
81 | " Vale do Acre \n",
82 | " Sena Madureira \n",
83 | " \n",
84 | " \n",
85 | " 3 \n",
86 | " 14547 \n",
87 | " INSTITUTO FEDERAL DE ALAGOAS - CAMPUS ARAPIRACA \n",
88 | " 06-07-2010 \n",
89 | " Nordeste \n",
90 | " AL \n",
91 | " Arapiraca \n",
92 | " Agreste Alagoano \n",
93 | " Arapiraca \n",
94 | " \n",
95 | " \n",
96 | " 4 \n",
97 | " 32010 \n",
98 | " INSTITUTO FEDERAL DE ALAGOAS - CAMPUS CORURIPE \n",
99 | " 22-01-2014 \n",
100 | " Nordeste \n",
101 | " AL \n",
102 | " Coruripe \n",
103 | " Leste Alagoano \n",
104 | " São Miguel dos Campos \n",
105 | " \n",
106 | " \n",
107 | "
\n",
108 | "
"
109 | ],
110 | "text/plain": [
111 | " CODIGO_UNIDADE NOME_UNIDADE \\\n",
112 | "0 2879 INSTITUTO FEDERAL DA BAHIA - CAMPUS EUNÁPOLIS \n",
113 | "1 2948 INSTITUTO FEDERAL BAIANO - CAMPUS ITAPETINGA \n",
114 | "2 14328 INSTITUTO FEDERAL DO ACRE - CAMPUS SENA MADUREIRA \n",
115 | "3 14547 INSTITUTO FEDERAL DE ALAGOAS - CAMPUS ARAPIRACA \n",
116 | "4 32010 INSTITUTO FEDERAL DE ALAGOAS - CAMPUS CORURIPE \n",
117 | "\n",
118 | " DT_AUTORIZA_FUNCIONA_UNID NOME_REGIAO_UNIDADE SIGLA_UF_UNIDADE \\\n",
119 | "0 07-01-2009 Nordeste BA \n",
120 | "1 07-01-2009 Nordeste BA \n",
121 | "2 30-12-2008 Norte AC \n",
122 | "3 06-07-2010 Nordeste AL \n",
123 | "4 22-01-2014 Nordeste AL \n",
124 | "\n",
125 | " NOME_MUNICIPIO_UNIDADE NOME_MESORREGIAO_UNIDADE NOME_MICRORREGIAO_UNIDADE \n",
126 | "0 Eunápolis Sul Baiano Porto Seguro \n",
127 | "1 Itapetinga Centro Sul Baiano Itapetinga \n",
128 | "2 Sena Madureira Vale do Acre Sena Madureira \n",
129 | "3 Arapiraca Agreste Alagoano Arapiraca \n",
130 | "4 Coruripe Leste Alagoano São Miguel dos Campos "
131 | ]
132 | },
133 | "execution_count": 12,
134 | "metadata": {},
135 | "output_type": "execute_result"
136 | }
137 | ],
138 | "source": [
139 | "# Carregar o arquivo CSV\n",
140 | "# Pandas vai converter o arquivo em um DataFrame\n",
141 | "# Por convenção, chamamos o DataFrame de df\n",
142 | "# O arquivo é separado por ';', por isso informamos o parâmetro 'sep'\n",
143 | "# O arquivo é codificado como cp1252\n",
144 | "df = pd.read_csv('PDA_UNIDADES_RF_EPCT_CSV.csv', sep=';', encoding='cp1252')\n",
145 | "\n",
146 | "# Mostra as 5 primeiras linhas do DataFrame\n",
147 | "df.head()"
148 | ]
149 | },
150 | {
151 | "cell_type": "code",
152 | "execution_count": 14,
153 | "metadata": {},
154 | "outputs": [
155 | {
156 | "data": {
157 | "text/plain": [
158 | "CODIGO_UNIDADE 618\n",
159 | "NOME_UNIDADE 618\n",
160 | "DT_AUTORIZA_FUNCIONA_UNID 618\n",
161 | "NOME_REGIAO_UNIDADE 618\n",
162 | "SIGLA_UF_UNIDADE 618\n",
163 | "NOME_MUNICIPIO_UNIDADE 618\n",
164 | "NOME_MESORREGIAO_UNIDADE 618\n",
165 | "NOME_MICRORREGIAO_UNIDADE 618\n",
166 | "dtype: int64"
167 | ]
168 | },
169 | "execution_count": 14,
170 | "metadata": {},
171 | "output_type": "execute_result"
172 | }
173 | ],
174 | "source": [
175 | "# Quantas escolas no arquivo?\n",
176 | "df.count()"
177 | ]
178 | },
179 | {
180 | "cell_type": "code",
181 | "execution_count": 15,
182 | "metadata": {},
183 | "outputs": [
184 | {
185 | "data": {
186 | "text/html": [
187 | "\n",
188 | "\n",
201 | "
\n",
202 | " \n",
203 | " \n",
204 | " \n",
205 | " CODIGO_UNIDADE \n",
206 | " \n",
207 | " \n",
208 | " \n",
209 | " \n",
210 | " count \n",
211 | " 618.000000 \n",
212 | " \n",
213 | " \n",
214 | " mean \n",
215 | " 16255.610032 \n",
216 | " \n",
217 | " \n",
218 | " std \n",
219 | " 12973.588737 \n",
220 | " \n",
221 | " \n",
222 | " min \n",
223 | " 354.000000 \n",
224 | " \n",
225 | " \n",
226 | " 25% \n",
227 | " 2998.500000 \n",
228 | " \n",
229 | " \n",
230 | " 50% \n",
231 | " 13840.500000 \n",
232 | " \n",
233 | " \n",
234 | " 75% \n",
235 | " 30818.250000 \n",
236 | " \n",
237 | " \n",
238 | " max \n",
239 | " 44307.000000 \n",
240 | " \n",
241 | " \n",
242 | "
\n",
243 | "
"
244 | ],
245 | "text/plain": [
246 | " CODIGO_UNIDADE\n",
247 | "count 618.000000\n",
248 | "mean 16255.610032\n",
249 | "std 12973.588737\n",
250 | "min 354.000000\n",
251 | "25% 2998.500000\n",
252 | "50% 13840.500000\n",
253 | "75% 30818.250000\n",
254 | "max 44307.000000"
255 | ]
256 | },
257 | "execution_count": 15,
258 | "metadata": {},
259 | "output_type": "execute_result"
260 | }
261 | ],
262 | "source": [
263 | "# Descreve as colunas numéricas\n",
264 | "df.describe()"
265 | ]
266 | },
267 | {
268 | "cell_type": "code",
269 | "execution_count": 16,
270 | "metadata": {},
271 | "outputs": [
272 | {
273 | "data": {
274 | "text/plain": [
275 | "CODIGO_UNIDADE int64\n",
276 | "NOME_UNIDADE object\n",
277 | "DT_AUTORIZA_FUNCIONA_UNID object\n",
278 | "NOME_REGIAO_UNIDADE object\n",
279 | "SIGLA_UF_UNIDADE object\n",
280 | "NOME_MUNICIPIO_UNIDADE object\n",
281 | "NOME_MESORREGIAO_UNIDADE object\n",
282 | "NOME_MICRORREGIAO_UNIDADE object\n",
283 | "dtype: object"
284 | ]
285 | },
286 | "execution_count": 16,
287 | "metadata": {},
288 | "output_type": "execute_result"
289 | }
290 | ],
291 | "source": [
292 | "# Mostra o tipo de cada coluna do DataFrame\n",
293 | "df.dtypes"
294 | ]
295 | },
296 | {
297 | "cell_type": "code",
298 | "execution_count": 18,
299 | "metadata": {},
300 | "outputs": [
301 | {
302 | "data": {
303 | "text/plain": [
304 | "Nordeste 202\n",
305 | "Sudeste 163\n",
306 | "Sul 116\n",
307 | "Norte 70\n",
308 | "Centro-Oeste 67\n",
309 | "Name: NOME_REGIAO_UNIDADE, dtype: int64"
310 | ]
311 | },
312 | "execution_count": 18,
313 | "metadata": {},
314 | "output_type": "execute_result"
315 | }
316 | ],
317 | "source": [
318 | "# Quantas escolas existem em cada região do Brasil\n",
319 | "df['NOME_REGIAO_UNIDADE'].value_counts()"
320 | ]
321 | },
322 | {
323 | "cell_type": "code",
324 | "execution_count": 21,
325 | "metadata": {},
326 | "outputs": [
327 | {
328 | "data": {
329 | "text/plain": [
330 | "MG 67\n",
331 | "RS 45\n",
332 | "RJ 39\n",
333 | "SC 36\n",
334 | "PR 35\n",
335 | "SP 35\n",
336 | "BA 34\n",
337 | "CE 27\n",
338 | "MA 27\n",
339 | "GO 26\n",
340 | "PI 23\n",
341 | "PE 23\n",
342 | "RN 23\n",
343 | "ES 22\n",
344 | "PB 21\n",
345 | "PA 20\n",
346 | "MT 19\n",
347 | "AL 16\n",
348 | "AM 15\n",
349 | "MS 11\n",
350 | "TO 11\n",
351 | "DF 11\n",
352 | "RO 8\n",
353 | "SE 8\n",
354 | "AC 6\n",
355 | "RR 6\n",
356 | "AP 4\n",
357 | "Name: SIGLA_UF_UNIDADE, dtype: int64"
358 | ]
359 | },
360 | "execution_count": 21,
361 | "metadata": {},
362 | "output_type": "execute_result"
363 | }
364 | ],
365 | "source": [
366 | "# Vamos contar agora por Unidade da Federação (Estado)\n",
367 | "df['SIGLA_UF_UNIDADE'].value_counts()"
368 | ]
369 | },
370 | {
371 | "cell_type": "code",
372 | "execution_count": 23,
373 | "metadata": {},
374 | "outputs": [
375 | {
376 | "data": {
377 | "text/plain": [
378 | ""
379 | ]
380 | },
381 | "execution_count": 23,
382 | "metadata": {},
383 | "output_type": "execute_result"
384 | },
385 | {
386 | "data": {
387 | "image/png": "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\n",
388 | "text/plain": [
389 | ""
390 | ]
391 | },
392 | "metadata": {
393 | "needs_background": "light"
394 | },
395 | "output_type": "display_data"
396 | }
397 | ],
398 | "source": [
399 | "# Mostrando os dados em um gráfico\n",
400 | "\n",
401 | "# Nós precisamos informar que queremos visualizar o gráfico dentro\n",
402 | "# do próprio jupyter notebook\n",
403 | "%matplotlib inline\n",
404 | "\n",
405 | "# Agora vamos pegar as escolas por UF e mostrar em um gráfico\n",
406 | "# de barras\n",
407 | "df['SIGLA_UF_UNIDADE'].value_counts().plot.bar()"
408 | ]
409 | }
410 | ],
411 | "metadata": {
412 | "kernelspec": {
413 | "display_name": "Python 3",
414 | "language": "python",
415 | "name": "python3"
416 | },
417 | "language_info": {
418 | "codemirror_mode": {
419 | "name": "ipython",
420 | "version": 3
421 | },
422 | "file_extension": ".py",
423 | "mimetype": "text/x-python",
424 | "name": "python",
425 | "nbconvert_exporter": "python",
426 | "pygments_lexer": "ipython3",
427 | "version": "3.7.1"
428 | }
429 | },
430 | "nbformat": 4,
431 | "nbformat_minor": 2
432 | }
433 |
--------------------------------------------------------------------------------
/excel_filmes_exibidos_brasil_2009_2017.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Análise de dados de filmes exibidos no Brasil de 2009 a 2017\n",
8 | "Com base nos dados da Ancine (http://oca.ancine.gov.br), vamos analisar os filmes exibidos no Brasil\n",
9 | "\n",
10 | "Arquivo -> 2120_0.xlsx"
11 | ]
12 | },
13 | {
14 | "cell_type": "code",
15 | "execution_count": 1,
16 | "metadata": {},
17 | "outputs": [],
18 | "source": [
19 | "# Importando as bibliotecas\n",
20 | "import pandas as pd\n",
21 | "# Configurando o matplotlib\n",
22 | "%matplotlib inline"
23 | ]
24 | },
25 | {
26 | "cell_type": "code",
27 | "execution_count": 6,
28 | "metadata": {},
29 | "outputs": [],
30 | "source": [
31 | "# Criando o DataFrame com base no arquivo Excel\n",
32 | "# Precisamos pular as 2 primeiras linhas\n",
33 | "# Precisamos desconsiderar as últimas 16 linhas\n",
34 | "df = pd.read_excel('2120_0.xlsx', skiprows=2, skipfooter=16)"
35 | ]
36 | },
37 | {
38 | "cell_type": "code",
39 | "execution_count": 7,
40 | "metadata": {},
41 | "outputs": [
42 | {
43 | "data": {
44 | "text/html": [
45 | "\n",
46 | "\n",
59 | "
\n",
60 | " \n",
61 | " \n",
62 | " \n",
63 | " Ano de exibição \n",
64 | " Título da obra \n",
65 | " Gênero \n",
66 | " País(es) produtor(es) da obra \n",
67 | " Nacionalidade da obra \n",
68 | " Data de lançamento \n",
69 | " Distribuidora \n",
70 | " Origem da empresa distribuidora \n",
71 | " Público no ano de exibição \n",
72 | " Renda (R$) no ano de exibição \n",
73 | " \n",
74 | " \n",
75 | " \n",
76 | " \n",
77 | " 0 \n",
78 | " 2017 \n",
79 | " #Screamers \n",
80 | " Ficção \n",
81 | " Estados Unidos \n",
82 | " Estrangeiros \n",
83 | " 2017-11-30 00:00:00 \n",
84 | " Cineart Filmes \n",
85 | " Distribuição Nacional \n",
86 | " 714 \n",
87 | " 9437.45 \n",
88 | " \n",
89 | " \n",
90 | " 1 \n",
91 | " 2017 \n",
92 | " 10 Centavos para o Número da Besta \n",
93 | " Documentário \n",
94 | " Brasil \n",
95 | " Brasileiros \n",
96 | " 2017-11-28 00:00:00 \n",
97 | " Ponto de Equilíbrio \n",
98 | " Distribuição Nacional \n",
99 | " 7 \n",
100 | " 63.00 \n",
101 | " \n",
102 | " \n",
103 | " 2 \n",
104 | " 2017 \n",
105 | " 120 batimentos por minuto \n",
106 | " Ficção \n",
107 | " França \n",
108 | " Estrangeiros \n",
109 | " 2018-01-04 00:00:00 \n",
110 | " Imovision \n",
111 | " Distribuição Nacional \n",
112 | " 262 \n",
113 | " 3791.63 \n",
114 | " \n",
115 | " \n",
116 | " 3 \n",
117 | " 2017 \n",
118 | " 13 Minutos \n",
119 | " Ficção \n",
120 | " Alemanha \n",
121 | " Estrangeiros \n",
122 | " 2016-11-03 00:00:00 \n",
123 | " Alphaville Filmes \n",
124 | " Distribuição Nacional \n",
125 | " 620 \n",
126 | " 6463.50 \n",
127 | " \n",
128 | " \n",
129 | " 4 \n",
130 | " 2017 \n",
131 | " 150 Miligramas \n",
132 | " Ficção \n",
133 | " França \n",
134 | " Estrangeiros \n",
135 | " 2017-08-31 00:00:00 \n",
136 | " Califórnia \n",
137 | " Distribuição Nacional \n",
138 | " 771 \n",
139 | " 10508.71 \n",
140 | " \n",
141 | " \n",
142 | "
\n",
143 | "
"
144 | ],
145 | "text/plain": [
146 | " Ano de exibição Título da obra Gênero \\\n",
147 | "0 2017 #Screamers Ficção \n",
148 | "1 2017 10 Centavos para o Número da Besta Documentário \n",
149 | "2 2017 120 batimentos por minuto Ficção \n",
150 | "3 2017 13 Minutos Ficção \n",
151 | "4 2017 150 Miligramas Ficção \n",
152 | "\n",
153 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n",
154 | "0 Estados Unidos Estrangeiros 2017-11-30 00:00:00 \n",
155 | "1 Brasil Brasileiros 2017-11-28 00:00:00 \n",
156 | "2 França Estrangeiros 2018-01-04 00:00:00 \n",
157 | "3 Alemanha Estrangeiros 2016-11-03 00:00:00 \n",
158 | "4 França Estrangeiros 2017-08-31 00:00:00 \n",
159 | "\n",
160 | " Distribuidora Origem da empresa distribuidora \\\n",
161 | "0 Cineart Filmes Distribuição Nacional \n",
162 | "1 Ponto de Equilíbrio Distribuição Nacional \n",
163 | "2 Imovision Distribuição Nacional \n",
164 | "3 Alphaville Filmes Distribuição Nacional \n",
165 | "4 Califórnia Distribuição Nacional \n",
166 | "\n",
167 | " Público no ano de exibição Renda (R$) no ano de exibição \n",
168 | "0 714 9437.45 \n",
169 | "1 7 63.00 \n",
170 | "2 262 3791.63 \n",
171 | "3 620 6463.50 \n",
172 | "4 771 10508.71 "
173 | ]
174 | },
175 | "execution_count": 7,
176 | "metadata": {},
177 | "output_type": "execute_result"
178 | }
179 | ],
180 | "source": [
181 | "# Exibindo as primeiras linhas\n",
182 | "df.head()"
183 | ]
184 | },
185 | {
186 | "cell_type": "code",
187 | "execution_count": 8,
188 | "metadata": {},
189 | "outputs": [
190 | {
191 | "data": {
192 | "text/html": [
193 | "\n",
194 | "\n",
207 | "
\n",
208 | " \n",
209 | " \n",
210 | " \n",
211 | " Ano de exibição \n",
212 | " Título da obra \n",
213 | " Gênero \n",
214 | " País(es) produtor(es) da obra \n",
215 | " Nacionalidade da obra \n",
216 | " Data de lançamento \n",
217 | " Distribuidora \n",
218 | " Origem da empresa distribuidora \n",
219 | " Público no ano de exibição \n",
220 | " Renda (R$) no ano de exibição \n",
221 | " \n",
222 | " \n",
223 | " \n",
224 | " \n",
225 | " 5686 \n",
226 | " 2009 \n",
227 | " X-Men Origens: Wolverine \n",
228 | " Ficção \n",
229 | " Estados Unidos \n",
230 | " Estrangeiros \n",
231 | " 2009-05-01 00:00:00 \n",
232 | " Fox \n",
233 | " Distribuição Internacional \n",
234 | " 3199434 \n",
235 | " 27352313.00 \n",
236 | " \n",
237 | " \n",
238 | " 5687 \n",
239 | " 2009 \n",
240 | " Xuxa em o Mistério de Feiurinha \n",
241 | " Ficção \n",
242 | " Brasil \n",
243 | " Brasileiros \n",
244 | " 2009-12-25 00:00:00 \n",
245 | " Playarte \n",
246 | " Distribuição Nacional \n",
247 | " 250109 \n",
248 | " 1766416.65 \n",
249 | " \n",
250 | " \n",
251 | " 5688 \n",
252 | " 2009 \n",
253 | " Xuxa em Sonho de Menina \n",
254 | " Ficção \n",
255 | " Brasil \n",
256 | " Brasileiros \n",
257 | " 2007-12-21 00:00:00 \n",
258 | " Warner \n",
259 | " Distribuição Internacional \n",
260 | " 8914 \n",
261 | " 26880.00 \n",
262 | " \n",
263 | " \n",
264 | " 5689 \n",
265 | " 2009 \n",
266 | " Xuxa Gêmeas \n",
267 | " Ficção \n",
268 | " Brasil \n",
269 | " Brasileiros \n",
270 | " 2006-12-15 00:00:00 \n",
271 | " Fox \n",
272 | " Distribuição Internacional \n",
273 | " 1671 \n",
274 | " 5013.00 \n",
275 | " \n",
276 | " \n",
277 | " 5690 \n",
278 | " 2009 \n",
279 | " Zico na Rede \n",
280 | " Documentário \n",
281 | " Brasil \n",
282 | " Brasileiros \n",
283 | " 2009-07-03 00:00:00 \n",
284 | " Business Telecom \n",
285 | " Distribuição Nacional \n",
286 | " 546 \n",
287 | " 2529.50 \n",
288 | " \n",
289 | " \n",
290 | "
\n",
291 | "
"
292 | ],
293 | "text/plain": [
294 | " Ano de exibição Título da obra Gênero \\\n",
295 | "5686 2009 X-Men Origens: Wolverine Ficção \n",
296 | "5687 2009 Xuxa em o Mistério de Feiurinha Ficção \n",
297 | "5688 2009 Xuxa em Sonho de Menina Ficção \n",
298 | "5689 2009 Xuxa Gêmeas Ficção \n",
299 | "5690 2009 Zico na Rede Documentário \n",
300 | "\n",
301 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n",
302 | "5686 Estados Unidos Estrangeiros 2009-05-01 00:00:00 \n",
303 | "5687 Brasil Brasileiros 2009-12-25 00:00:00 \n",
304 | "5688 Brasil Brasileiros 2007-12-21 00:00:00 \n",
305 | "5689 Brasil Brasileiros 2006-12-15 00:00:00 \n",
306 | "5690 Brasil Brasileiros 2009-07-03 00:00:00 \n",
307 | "\n",
308 | " Distribuidora Origem da empresa distribuidora \\\n",
309 | "5686 Fox Distribuição Internacional \n",
310 | "5687 Playarte Distribuição Nacional \n",
311 | "5688 Warner Distribuição Internacional \n",
312 | "5689 Fox Distribuição Internacional \n",
313 | "5690 Business Telecom Distribuição Nacional \n",
314 | "\n",
315 | " Público no ano de exibição Renda (R$) no ano de exibição \n",
316 | "5686 3199434 27352313.00 \n",
317 | "5687 250109 1766416.65 \n",
318 | "5688 8914 26880.00 \n",
319 | "5689 1671 5013.00 \n",
320 | "5690 546 2529.50 "
321 | ]
322 | },
323 | "execution_count": 8,
324 | "metadata": {},
325 | "output_type": "execute_result"
326 | }
327 | ],
328 | "source": [
329 | "# Exibindo as últimas linhas\n",
330 | "df.tail()"
331 | ]
332 | },
333 | {
334 | "cell_type": "code",
335 | "execution_count": 11,
336 | "metadata": {},
337 | "outputs": [
338 | {
339 | "data": {
340 | "text/plain": [
341 | "Ano de exibição int64\n",
342 | "Título da obra object\n",
343 | "Gênero object\n",
344 | "País(es) produtor(es) da obra object\n",
345 | "Nacionalidade da obra object\n",
346 | "Data de lançamento object\n",
347 | "Distribuidora object\n",
348 | "Origem da empresa distribuidora object\n",
349 | "Público no ano de exibição int64\n",
350 | "Renda (R$) no ano de exibição float64\n",
351 | "dtype: object"
352 | ]
353 | },
354 | "execution_count": 11,
355 | "metadata": {},
356 | "output_type": "execute_result"
357 | }
358 | ],
359 | "source": [
360 | "# Verificar os tipos das colunas\n",
361 | "df.dtypes"
362 | ]
363 | },
364 | {
365 | "cell_type": "code",
366 | "execution_count": 12,
367 | "metadata": {},
368 | "outputs": [
369 | {
370 | "ename": "TypeError",
371 | "evalue": "invalid string coercion to datetime",
372 | "output_type": "error",
373 | "traceback": [
374 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
375 | "\u001b[1;31mUnicodeEncodeError\u001b[0m Traceback (most recent call last)",
376 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n",
377 | "\u001b[1;32mpandas\\_libs\\tslibs\\np_datetime.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.np_datetime._string_to_dts\u001b[1;34m()\u001b[0m\n",
378 | "\u001b[1;31mUnicodeEncodeError\u001b[0m: 'ascii' codec can't encode character '\\xe7' in position 5: ordinal not in range(128)",
379 | "\nDuring handling of the above exception, another exception occurred:\n",
380 | "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
381 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n",
382 | "\u001b[1;32mpandas\\_libs\\tslibs\\parsing.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslibs.parsing.parse_datetime_string\u001b[1;34m()\u001b[0m\n",
383 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\dateutil\\parser\\_parser.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(timestr, parserinfo, **kwargs)\u001b[0m\n\u001b[0;32m 1355\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1356\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mDEFAULTPARSER\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mparse\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtimestr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1357\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
384 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\dateutil\\parser\\_parser.py\u001b[0m in \u001b[0;36mparse\u001b[1;34m(self, timestr, default, ignoretz, tzinfos, **kwargs)\u001b[0m\n\u001b[0;32m 647\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 648\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"Unknown string format:\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtimestr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 649\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
385 | "\u001b[1;31mValueError\u001b[0m: ('Unknown string format:', 'Relançamento')",
386 | "\nDuring handling of the above exception, another exception occurred:\n",
387 | "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
388 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Converter a coluna 'Data de lançamento' de object para data\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0mdt\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Data de lançamento'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mto_datetime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Data de lançamento'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
389 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\pandas\\core\\tools\\datetimes.py\u001b[0m in \u001b[0;36mto_datetime\u001b[1;34m(arg, errors, dayfirst, yearfirst, utc, box, format, exact, unit, infer_datetime_format, origin, cache)\u001b[0m\n\u001b[0;32m 449\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 450\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSeries\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 451\u001b[1;33m \u001b[0mvalues\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_convert_listlike\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_values\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mformat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 452\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mSeries\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mvalues\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 453\u001b[0m \u001b[1;32melif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0marg\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mABCDataFrame\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mMutableMapping\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
390 | "\u001b[1;32mD:\\Anaconda3\\lib\\site-packages\\pandas\\core\\tools\\datetimes.py\u001b[0m in \u001b[0;36m_convert_listlike\u001b[1;34m(arg, box, format, name, tz)\u001b[0m\n\u001b[0;32m 366\u001b[0m \u001b[0mdayfirst\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdayfirst\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 367\u001b[0m \u001b[0myearfirst\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0myearfirst\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 368\u001b[1;33m \u001b[0mrequire_iso8601\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mrequire_iso8601\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 369\u001b[0m )\n\u001b[0;32m 370\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
391 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n",
392 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n",
393 | "\u001b[1;32mpandas\\_libs\\tslib.pyx\u001b[0m in \u001b[0;36mpandas._libs.tslib.array_to_datetime\u001b[1;34m()\u001b[0m\n",
394 | "\u001b[1;31mTypeError\u001b[0m: invalid string coercion to datetime"
395 | ]
396 | }
397 | ],
398 | "source": [
399 | "# Converter a coluna 'Data de lançamento' de object para data\n",
400 | "dt['Data de lançamento'] = pd.to_datetime(df['Data de lançamento'])"
401 | ]
402 | },
403 | {
404 | "cell_type": "code",
405 | "execution_count": 13,
406 | "metadata": {},
407 | "outputs": [
408 | {
409 | "data": {
410 | "text/plain": [
411 | "Relançamento 175\n",
412 | "2015-12-03 00:00:00 33\n",
413 | "2012-12-21 00:00:00 33\n",
414 | "2013-11-29 00:00:00 29\n",
415 | "2012-11-02 00:00:00 27\n",
416 | "2015-11-12 00:00:00 25\n",
417 | "2015-11-19 00:00:00 25\n",
418 | "2013-11-01 00:00:00 23\n",
419 | "2013-12-06 00:00:00 23\n",
420 | "2013-10-11 00:00:00 23\n",
421 | "2016-11-17 00:00:00 23\n",
422 | "2014-11-06 00:00:00 21\n",
423 | "2011-11-11 00:00:00 21\n",
424 | "2011-12-02 00:00:00 21\n",
425 | "2013-09-13 00:00:00 21\n",
426 | "2009-12-11 00:00:00 20\n",
427 | "2011-09-30 00:00:00 19\n",
428 | "2016-11-10 00:00:00 19\n",
429 | "2011-12-09 00:00:00 19\n",
430 | "2013-12-20 00:00:00 19\n",
431 | "2014-06-19 00:00:00 19\n",
432 | "2013-09-06 00:00:00 18\n",
433 | "2016-12-01 00:00:00 18\n",
434 | "2015-12-10 00:00:00 18\n",
435 | "2015-11-26 00:00:00 18\n",
436 | "2011-11-25 00:00:00 18\n",
437 | "2014-12-04 00:00:00 18\n",
438 | "2015-08-20 00:00:00 18\n",
439 | "2016-11-24 00:00:00 18\n",
440 | "2012-10-12 00:00:00 18\n",
441 | " ... \n",
442 | "2018-03-15 00:00:00 1\n",
443 | "2014-07-26 00:00:00 1\n",
444 | "2017-12-02 00:00:00 1\n",
445 | "2017-12-25 00:00:00 1\n",
446 | "2008-02-15 00:00:00 1\n",
447 | "2004-11-06 00:00:00 1\n",
448 | "2018-02-22 00:00:00 1\n",
449 | "2015-09-29 00:00:00 1\n",
450 | "2010-05-08 00:00:00 1\n",
451 | "2014-01-18 00:00:00 1\n",
452 | "2009-10-03 00:00:00 1\n",
453 | "2018-04-12 00:00:00 1\n",
454 | "2008-10-18 00:00:00 1\n",
455 | "2015-09-12 00:00:00 1\n",
456 | "2007-11-02 00:00:00 1\n",
457 | "2009-03-14 00:00:00 1\n",
458 | "2006-12-15 00:00:00 1\n",
459 | "2005-10-07 00:00:00 1\n",
460 | "2006-09-29 00:00:00 1\n",
461 | "1998-10-30 00:00:00 1\n",
462 | "2018-01-18 00:00:00 1\n",
463 | "2015-01-01 00:00:00 1\n",
464 | "2013-06-15 00:00:00 1\n",
465 | "2006-08-11 00:00:00 1\n",
466 | "2011-02-05 00:00:00 1\n",
467 | "2009-10-28 00:00:00 1\n",
468 | "2011-07-02 00:00:00 1\n",
469 | "2011-08-13 00:00:00 1\n",
470 | "2014-10-01 00:00:00 1\n",
471 | "2006-10-13 00:00:00 1\n",
472 | "Name: Data de lançamento, Length: 759, dtype: int64"
473 | ]
474 | },
475 | "execution_count": 13,
476 | "metadata": {},
477 | "output_type": "execute_result"
478 | }
479 | ],
480 | "source": [
481 | "# Vamos tentar identificar o problema da coluna 'Data de lançamento'\n",
482 | "df['Data de lançamento'].value_counts()"
483 | ]
484 | },
485 | {
486 | "cell_type": "code",
487 | "execution_count": 15,
488 | "metadata": {},
489 | "outputs": [
490 | {
491 | "data": {
492 | "text/html": [
493 | "\n",
494 | "\n",
507 | "
\n",
508 | " \n",
509 | " \n",
510 | " \n",
511 | " Ano de exibição \n",
512 | " Título da obra \n",
513 | " Gênero \n",
514 | " País(es) produtor(es) da obra \n",
515 | " Nacionalidade da obra \n",
516 | " Data de lançamento \n",
517 | " Distribuidora \n",
518 | " Origem da empresa distribuidora \n",
519 | " Público no ano de exibição \n",
520 | " Renda (R$) no ano de exibição \n",
521 | " \n",
522 | " \n",
523 | " \n",
524 | " \n",
525 | " 7 \n",
526 | " 2017 \n",
527 | " 8½ \n",
528 | " Ficção \n",
529 | " França, Itália \n",
530 | " Estrangeiros \n",
531 | " Relançamento \n",
532 | " F. J. Cines \n",
533 | " Distribuição Nacional \n",
534 | " 29 \n",
535 | " 196.00 \n",
536 | " \n",
537 | " \n",
538 | " 11 \n",
539 | " 2017 \n",
540 | " A bela da tarde \n",
541 | " Ficção \n",
542 | " França, Itália \n",
543 | " Estrangeiros \n",
544 | " Relançamento \n",
545 | " Zeta Filmes \n",
546 | " Distribuição Nacional \n",
547 | " 3011 \n",
548 | " 42839.31 \n",
549 | " \n",
550 | " \n",
551 | " 36 \n",
552 | " 2017 \n",
553 | " A História sem Fim \n",
554 | " Ficção \n",
555 | " Alemanha, Estados Unidos \n",
556 | " Estrangeiros \n",
557 | " Relançamento \n",
558 | " F. J. Cines \n",
559 | " Distribuição Nacional \n",
560 | " 797 \n",
561 | " 6969.00 \n",
562 | " \n",
563 | " \n",
564 | " 53 \n",
565 | " 2017 \n",
566 | " A primeira noite de um homem \n",
567 | " Ficção \n",
568 | " Estados Unidos \n",
569 | " Estrangeiros \n",
570 | " Relançamento \n",
571 | " Zeta Filmes \n",
572 | " Distribuição Nacional \n",
573 | " 12 \n",
574 | " 96.00 \n",
575 | " \n",
576 | " \n",
577 | " 128 \n",
578 | " 2017 \n",
579 | " Ballet Bolshoi: A bela adormecida \n",
580 | " Vídeomusical \n",
581 | " Inglaterra \n",
582 | " Estrangeiros \n",
583 | " Relançamento \n",
584 | " UCI \n",
585 | " Distribuição Nacional \n",
586 | " 1504 \n",
587 | " 41391.00 \n",
588 | " \n",
589 | " \n",
590 | "
\n",
591 | "
"
592 | ],
593 | "text/plain": [
594 | " Ano de exibição Título da obra Gênero \\\n",
595 | "7 2017 8½ Ficção \n",
596 | "11 2017 A bela da tarde Ficção \n",
597 | "36 2017 A História sem Fim Ficção \n",
598 | "53 2017 A primeira noite de um homem Ficção \n",
599 | "128 2017 Ballet Bolshoi: A bela adormecida Vídeomusical \n",
600 | "\n",
601 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n",
602 | "7 França, Itália Estrangeiros Relançamento \n",
603 | "11 França, Itália Estrangeiros Relançamento \n",
604 | "36 Alemanha, Estados Unidos Estrangeiros Relançamento \n",
605 | "53 Estados Unidos Estrangeiros Relançamento \n",
606 | "128 Inglaterra Estrangeiros Relançamento \n",
607 | "\n",
608 | " Distribuidora Origem da empresa distribuidora Público no ano de exibição \\\n",
609 | "7 F. J. Cines Distribuição Nacional 29 \n",
610 | "11 Zeta Filmes Distribuição Nacional 3011 \n",
611 | "36 F. J. Cines Distribuição Nacional 797 \n",
612 | "53 Zeta Filmes Distribuição Nacional 12 \n",
613 | "128 UCI Distribuição Nacional 1504 \n",
614 | "\n",
615 | " Renda (R$) no ano de exibição \n",
616 | "7 196.00 \n",
617 | "11 42839.31 \n",
618 | "36 6969.00 \n",
619 | "53 96.00 \n",
620 | "128 41391.00 "
621 | ]
622 | },
623 | "execution_count": 15,
624 | "metadata": {},
625 | "output_type": "execute_result"
626 | }
627 | ],
628 | "source": [
629 | " # Exibir alguns filmes que estão com data de lançamento igual à Relançamento\n",
630 | "df[df['Data de lançamento'] == 'Relançamento'].head()"
631 | ]
632 | },
633 | {
634 | "cell_type": "markdown",
635 | "metadata": {},
636 | "source": [
637 | "## Decisão sobre dados incorretos/faltantes/divergentes"
638 | ]
639 | },
640 | {
641 | "cell_type": "code",
642 | "execution_count": 19,
643 | "metadata": {},
644 | "outputs": [],
645 | "source": [
646 | "# Criar novo DataFrame sem os relançamentos\n",
647 | "df_novo = df[df['Data de lançamento'] != 'Relançamento'].copy()"
648 | ]
649 | },
650 | {
651 | "cell_type": "code",
652 | "execution_count": 20,
653 | "metadata": {},
654 | "outputs": [
655 | {
656 | "data": {
657 | "text/plain": [
658 | "(5516, 10)"
659 | ]
660 | },
661 | "execution_count": 20,
662 | "metadata": {},
663 | "output_type": "execute_result"
664 | }
665 | ],
666 | "source": [
667 | "# Exibe o tamanho do DataFrame (linhas, colunas)\n",
668 | "df_novo.shape"
669 | ]
670 | },
671 | {
672 | "cell_type": "code",
673 | "execution_count": 21,
674 | "metadata": {},
675 | "outputs": [
676 | {
677 | "data": {
678 | "text/plain": [
679 | "Ano de exibição int64\n",
680 | "Título da obra object\n",
681 | "Gênero object\n",
682 | "País(es) produtor(es) da obra object\n",
683 | "Nacionalidade da obra object\n",
684 | "Data de lançamento object\n",
685 | "Distribuidora object\n",
686 | "Origem da empresa distribuidora object\n",
687 | "Público no ano de exibição int64\n",
688 | "Renda (R$) no ano de exibição float64\n",
689 | "dtype: object"
690 | ]
691 | },
692 | "execution_count": 21,
693 | "metadata": {},
694 | "output_type": "execute_result"
695 | }
696 | ],
697 | "source": [
698 | "# Vamos verificar os tipos das colunas\n",
699 | "df_novo.dtypes"
700 | ]
701 | },
702 | {
703 | "cell_type": "code",
704 | "execution_count": 23,
705 | "metadata": {},
706 | "outputs": [],
707 | "source": [
708 | "# Converter a coluna 'Data de lançamento' de object para data\n",
709 | "df_novo['Data de lançamento'] = pd.to_datetime(df_novo['Data de lançamento'])"
710 | ]
711 | },
712 | {
713 | "cell_type": "code",
714 | "execution_count": 25,
715 | "metadata": {},
716 | "outputs": [
717 | {
718 | "data": {
719 | "text/plain": [
720 | "Ano de exibição int64\n",
721 | "Título da obra object\n",
722 | "Gênero object\n",
723 | "País(es) produtor(es) da obra object\n",
724 | "Nacionalidade da obra object\n",
725 | "Data de lançamento datetime64[ns]\n",
726 | "Distribuidora object\n",
727 | "Origem da empresa distribuidora object\n",
728 | "Público no ano de exibição int64\n",
729 | "Renda (R$) no ano de exibição float64\n",
730 | "dtype: object"
731 | ]
732 | },
733 | "execution_count": 25,
734 | "metadata": {},
735 | "output_type": "execute_result"
736 | }
737 | ],
738 | "source": [
739 | "# Vamos verificar os tipos das colunas\n",
740 | "df_novo.dtypes"
741 | ]
742 | },
743 | {
744 | "cell_type": "code",
745 | "execution_count": 26,
746 | "metadata": {},
747 | "outputs": [
748 | {
749 | "data": {
750 | "text/plain": [
751 | "2013 669\n",
752 | "2015 646\n",
753 | "2014 619\n",
754 | "2016 613\n",
755 | "2011 553\n",
756 | "2012 539\n",
757 | "2009 503\n",
758 | "2017 487\n",
759 | "2010 475\n",
760 | "2008 225\n",
761 | "2007 61\n",
762 | "2006 49\n",
763 | "2005 29\n",
764 | "2018 17\n",
765 | "2004 10\n",
766 | "2002 6\n",
767 | "2001 5\n",
768 | "2003 4\n",
769 | "1999 3\n",
770 | "2000 2\n",
771 | "1998 1\n",
772 | "Name: Data de lançamento, dtype: int64"
773 | ]
774 | },
775 | "execution_count": 26,
776 | "metadata": {},
777 | "output_type": "execute_result"
778 | }
779 | ],
780 | "source": [
781 | "# Quais os anos tiverem mais filmes lançados?\n",
782 | "df_novo['Data de lançamento'].dt.year.value_counts()"
783 | ]
784 | },
785 | {
786 | "cell_type": "code",
787 | "execution_count": 29,
788 | "metadata": {},
789 | "outputs": [
790 | {
791 | "data": {
792 | "text/plain": [
793 | ""
794 | ]
795 | },
796 | "execution_count": 29,
797 | "metadata": {},
798 | "output_type": "execute_result"
799 | },
800 | {
801 | "data": {
802 | "image/png": "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\n",
803 | "text/plain": [
804 | ""
805 | ]
806 | },
807 | "metadata": {
808 | "needs_background": "light"
809 | },
810 | "output_type": "display_data"
811 | }
812 | ],
813 | "source": [
814 | "# Plotar gráfico com os lançamentos por ano\n",
815 | "df_novo['Data de lançamento'].dt.year.value_counts().plot.bar()"
816 | ]
817 | },
818 | {
819 | "cell_type": "code",
820 | "execution_count": 30,
821 | "metadata": {},
822 | "outputs": [
823 | {
824 | "data": {
825 | "text/html": [
826 | "\n",
827 | "\n",
840 | "
\n",
841 | " \n",
842 | " \n",
843 | " \n",
844 | " Ano de exibição \n",
845 | " Título da obra \n",
846 | " Gênero \n",
847 | " País(es) produtor(es) da obra \n",
848 | " Nacionalidade da obra \n",
849 | " Data de lançamento \n",
850 | " Distribuidora \n",
851 | " Origem da empresa distribuidora \n",
852 | " Público no ano de exibição \n",
853 | " Renda (R$) no ano de exibição \n",
854 | " \n",
855 | " \n",
856 | " \n",
857 | " \n",
858 | " 2249 \n",
859 | " 2015 \n",
860 | " Vingadores: A Era de Ultron \n",
861 | " Ficção \n",
862 | " Estados Unidos \n",
863 | " Estrangeiros \n",
864 | " 2015-04-23 \n",
865 | " Disney \n",
866 | " Distribuição Internacional \n",
867 | " 10129071 \n",
868 | " 146184931.0 \n",
869 | " \n",
870 | " \n",
871 | "
\n",
872 | "
"
873 | ],
874 | "text/plain": [
875 | " Ano de exibição Título da obra Gênero \\\n",
876 | "2249 2015 Vingadores: A Era de Ultron Ficção \n",
877 | "\n",
878 | " País(es) produtor(es) da obra Nacionalidade da obra Data de lançamento \\\n",
879 | "2249 Estados Unidos Estrangeiros 2015-04-23 \n",
880 | "\n",
881 | " Distribuidora Origem da empresa distribuidora \\\n",
882 | "2249 Disney Distribuição Internacional \n",
883 | "\n",
884 | " Público no ano de exibição Renda (R$) no ano de exibição \n",
885 | "2249 10129071 146184931.0 "
886 | ]
887 | },
888 | "execution_count": 30,
889 | "metadata": {},
890 | "output_type": "execute_result"
891 | }
892 | ],
893 | "source": [
894 | "# Qual é o filme que teve a maior bilheteria?\n",
895 | "df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].max()]"
896 | ]
897 | },
898 | {
899 | "cell_type": "code",
900 | "execution_count": 31,
901 | "metadata": {},
902 | "outputs": [
903 | {
904 | "data": {
905 | "text/html": [
906 | "\n",
907 | "\n",
920 | "
\n",
921 | " \n",
922 | " \n",
923 | " \n",
924 | " Ano de exibição \n",
925 | " Título da obra \n",
926 | " Gênero \n",
927 | " País(es) produtor(es) da obra \n",
928 | " Nacionalidade da obra \n",
929 | " Data de lançamento \n",
930 | " Distribuidora \n",
931 | " Origem da empresa distribuidora \n",
932 | " Público no ano de exibição \n",
933 | " Renda (R$) no ano de exibição \n",
934 | " \n",
935 | " \n",
936 | " \n",
937 | " \n",
938 | " 2277 \n",
939 | " 2014 \n",
940 | " A Batalha do passinho \n",
941 | " Documentário \n",
942 | " Brasil \n",
943 | " Brasileiros \n",
944 | " 2013-10-11 \n",
945 | " Cine Santa Teresa \n",
946 | " Distribuição Nacional \n",
947 | " 355 \n",
948 | " 0.0 \n",
949 | " \n",
950 | " \n",
951 | " 2608 \n",
952 | " 2014 \n",
953 | " Mar negro \n",
954 | " Ficção \n",
955 | " Brasil \n",
956 | " Brasileiros \n",
957 | " 2014-01-17 \n",
958 | " Petrini \n",
959 | " Distribuição Nacional \n",
960 | " 0 \n",
961 | " 0.0 \n",
962 | " \n",
963 | " \n",
964 | " 2728 \n",
965 | " 2014 \n",
966 | " O Último Lance do Leilão \n",
967 | " Ficção \n",
968 | " Brasil \n",
969 | " Brasileiros \n",
970 | " 2014-05-01 \n",
971 | " Sam Rádio Pictures \n",
972 | " Distribuição Nacional \n",
973 | " 0 \n",
974 | " 0.0 \n",
975 | " \n",
976 | " \n",
977 | " 3041 \n",
978 | " 2013 \n",
979 | " As horas vulgares \n",
980 | " Ficção \n",
981 | " Brasil \n",
982 | " Brasileiros \n",
983 | " 2013-08-09 \n",
984 | " Petrini \n",
985 | " Distribuição Nacional \n",
986 | " 0 \n",
987 | " 0.0 \n",
988 | " \n",
989 | " \n",
990 | " 3058 \n",
991 | " 2013 \n",
992 | " Beije-me outra vez \n",
993 | " Ficção \n",
994 | " Itália \n",
995 | " Estrangeiros \n",
996 | " 2013-05-10 \n",
997 | " Petrini \n",
998 | " Distribuição Nacional \n",
999 | " 0 \n",
1000 | " 0.0 \n",
1001 | " \n",
1002 | " \n",
1003 | " 3105 \n",
1004 | " 2013 \n",
1005 | " Crazy Horse \n",
1006 | " Ficção \n",
1007 | " Estados Unidos \n",
1008 | " Estrangeiros \n",
1009 | " 2013-06-28 \n",
1010 | " Petrini \n",
1011 | " Distribuição Nacional \n",
1012 | " 0 \n",
1013 | " 0.0 \n",
1014 | " \n",
1015 | " \n",
1016 | " 3390 \n",
1017 | " 2013 \n",
1018 | " Quase um tango \n",
1019 | " Ficção \n",
1020 | " Brasil \n",
1021 | " Brasileiros \n",
1022 | " 2013-08-16 \n",
1023 | " NGM Produções \n",
1024 | " Distribuição Nacional \n",
1025 | " 0 \n",
1026 | " 0.0 \n",
1027 | " \n",
1028 | " \n",
1029 | " 3459 \n",
1030 | " 2013 \n",
1031 | " Todos os Dias \n",
1032 | " Ficção \n",
1033 | " Reino Unido \n",
1034 | " Estrangeiros \n",
1035 | " 2014-01-24 \n",
1036 | " Esfera Produções \n",
1037 | " Distribuição Nacional \n",
1038 | " 0 \n",
1039 | " 0.0 \n",
1040 | " \n",
1041 | " \n",
1042 | " 3603 \n",
1043 | " 2012 \n",
1044 | " Apenas entre Nós \n",
1045 | " Ficção \n",
1046 | " França, Eslovênia, Sérvia, Croácia \n",
1047 | " Estrangeiros \n",
1048 | " 2015-05-07 \n",
1049 | " Lume \n",
1050 | " Distribuição Nacional \n",
1051 | " 0 \n",
1052 | " 0.0 \n",
1053 | " \n",
1054 | " \n",
1055 | " 3627 \n",
1056 | " 2012 \n",
1057 | " Ataque ao prédio \n",
1058 | " Ficção \n",
1059 | " Reino Unido \n",
1060 | " Estrangeiros \n",
1061 | " 2012-01-13 \n",
1062 | " Sony \n",
1063 | " Distribuição Internacional \n",
1064 | " 0 \n",
1065 | " 0.0 \n",
1066 | " \n",
1067 | " \n",
1068 | " 3665 \n",
1069 | " 2012 \n",
1070 | " Clementina de Jesus - Rainha Quelé \n",
1071 | " Documentário \n",
1072 | " Brasil \n",
1073 | " Brasileiros \n",
1074 | " 2012-11-15 \n",
1075 | " Werinton Kermes Telles Marsal \n",
1076 | " Distribuição Nacional \n",
1077 | " 0 \n",
1078 | " 0.0 \n",
1079 | " \n",
1080 | " \n",
1081 | " 3787 \n",
1082 | " 2012 \n",
1083 | " Luto em Luta \n",
1084 | " Documentário \n",
1085 | " Brasil \n",
1086 | " Brasileiros \n",
1087 | " 2012-09-21 \n",
1088 | " Like Filmes \n",
1089 | " Distribuição Nacional \n",
1090 | " 0 \n",
1091 | " 0.0 \n",
1092 | " \n",
1093 | " \n",
1094 | " 3815 \n",
1095 | " 2012 \n",
1096 | " Movimento Browniano \n",
1097 | " Ficção \n",
1098 | " Holanda \n",
1099 | " Estrangeiros \n",
1100 | " 2012-07-06 \n",
1101 | " Petrini \n",
1102 | " Distribuição Nacional \n",
1103 | " 0 \n",
1104 | " 0.0 \n",
1105 | " \n",
1106 | " \n",
1107 | " 3829 \n",
1108 | " 2012 \n",
1109 | " O abrigo \n",
1110 | " Ficção \n",
1111 | " Estados Unidos \n",
1112 | " Estrangeiros \n",
1113 | " 2012-06-01 \n",
1114 | " Sony \n",
1115 | " Distribuição Internacional \n",
1116 | " 0 \n",
1117 | " 0.0 \n",
1118 | " \n",
1119 | " \n",
1120 | " 3920 \n",
1121 | " 2012 \n",
1122 | " Ponto Org \n",
1123 | " Ficção \n",
1124 | " Brasil \n",
1125 | " Brasileiros \n",
1126 | " 2012-09-21 \n",
1127 | " Usina Digital \n",
1128 | " Distribuição Nacional \n",
1129 | " 0 \n",
1130 | " 0.0 \n",
1131 | " \n",
1132 | " \n",
1133 | " 4085 \n",
1134 | " 2011 \n",
1135 | " A Última Estrada da Praia \n",
1136 | " Ficção \n",
1137 | " Brasil \n",
1138 | " Brasileiros \n",
1139 | " 2011-09-16 \n",
1140 | " Okna Produções \n",
1141 | " Distribuição Nacional \n",
1142 | " 0 \n",
1143 | " 0.0 \n",
1144 | " \n",
1145 | " \n",
1146 | " 4462 \n",
1147 | " 2011 \n",
1148 | " Poema de Salvação \n",
1149 | " Ficção \n",
1150 | " Argentina \n",
1151 | " Estrangeiros \n",
1152 | " 2011-09-30 \n",
1153 | " Canzión filmes \n",
1154 | " Distribuição Nacional \n",
1155 | " 0 \n",
1156 | " 0.0 \n",
1157 | " \n",
1158 | " \n",
1159 | " 4466 \n",
1160 | " 2011 \n",
1161 | " Porta a porta – A política em dois tempos \n",
1162 | " Documentário \n",
1163 | " Brasil \n",
1164 | " Brasileiros \n",
1165 | " 2011-12-02 \n",
1166 | " Zéfiro Produções \n",
1167 | " Distribuição Nacional \n",
1168 | " 0 \n",
1169 | " 0.0 \n",
1170 | " \n",
1171 | " \n",
1172 | " 4587 \n",
1173 | " 2011 \n",
1174 | " Walachai \n",
1175 | " Documentário \n",
1176 | " Brasil \n",
1177 | " Brasileiros \n",
1178 | " 2011-11-18 \n",
1179 | " Ciclorama \n",
1180 | " Distribuição Nacional \n",
1181 | " 0 \n",
1182 | " 0.0 \n",
1183 | " \n",
1184 | " \n",
1185 | " 4732 \n",
1186 | " 2010 \n",
1187 | " Cine Cocoricó: As Aventuras na Cidade \n",
1188 | " Ficção \n",
1189 | " Brasil \n",
1190 | " Brasileiros \n",
1191 | " 2009-07-17 \n",
1192 | " Moviemobz \n",
1193 | " Distribuição Nacional \n",
1194 | " 1 \n",
1195 | " 0.0 \n",
1196 | " \n",
1197 | " \n",
1198 | " 4853 \n",
1199 | " 2010 \n",
1200 | " Luto Como Mãe \n",
1201 | " Documentário \n",
1202 | " Brasil \n",
1203 | " Brasileiros \n",
1204 | " 2010-08-20 \n",
1205 | " TV Zero Cinema \n",
1206 | " Distribuição Nacional \n",
1207 | " 0 \n",
1208 | " 0.0 \n",
1209 | " \n",
1210 | " \n",
1211 | " 5022 \n",
1212 | " 2010 \n",
1213 | " Simonal - Ninguém Sabe o Duro que Dei \n",
1214 | " Documentário \n",
1215 | " Brasil \n",
1216 | " Brasileiros \n",
1217 | " 2009-05-15 \n",
1218 | " Moviemobz/RioFilme \n",
1219 | " Distribuição Nacional \n",
1220 | " 1 \n",
1221 | " 0.0 \n",
1222 | " \n",
1223 | " \n",
1224 | " 5203 \n",
1225 | " 2009 \n",
1226 | " As Chaves de Casa \n",
1227 | " Ficção \n",
1228 | " Itália \n",
1229 | " Estrangeiros \n",
1230 | " 2006-01-06 \n",
1231 | " Filmes do Estação \n",
1232 | " Distribuição Nacional \n",
1233 | " 0 \n",
1234 | " 0.0 \n",
1235 | " \n",
1236 | " \n",
1237 | " 5463 \n",
1238 | " 2009 \n",
1239 | " Naufrágio - Mistério e Morte na Catástrofe do ... \n",
1240 | " Documentário \n",
1241 | " Brasil \n",
1242 | " Brasileiros \n",
1243 | " 2009-12-25 \n",
1244 | " Master Shot Produções \n",
1245 | " Distribuição Nacional \n",
1246 | " 0 \n",
1247 | " 0.0 \n",
1248 | " \n",
1249 | " \n",
1250 | " 5591 \n",
1251 | " 2009 \n",
1252 | " Santiago \n",
1253 | " Documentário \n",
1254 | " Brasil \n",
1255 | " Brasileiros \n",
1256 | " 2007-08-24 \n",
1257 | " Videofilmes \n",
1258 | " Distribuição Nacional \n",
1259 | " 0 \n",
1260 | " 0.0 \n",
1261 | " \n",
1262 | " \n",
1263 | " 5666 \n",
1264 | " 2009 \n",
1265 | " Vamos Subir, Leão \n",
1266 | " Documentário \n",
1267 | " Brasil \n",
1268 | " Brasileiros \n",
1269 | " 2009-03-20 \n",
1270 | " Canal 3 \n",
1271 | " Distribuição Nacional \n",
1272 | " 0 \n",
1273 | " 0.0 \n",
1274 | " \n",
1275 | " \n",
1276 | "
\n",
1277 | "
"
1278 | ],
1279 | "text/plain": [
1280 | " Ano de exibição Título da obra \\\n",
1281 | "2277 2014 A Batalha do passinho \n",
1282 | "2608 2014 Mar negro \n",
1283 | "2728 2014 O Último Lance do Leilão \n",
1284 | "3041 2013 As horas vulgares \n",
1285 | "3058 2013 Beije-me outra vez \n",
1286 | "3105 2013 Crazy Horse \n",
1287 | "3390 2013 Quase um tango \n",
1288 | "3459 2013 Todos os Dias \n",
1289 | "3603 2012 Apenas entre Nós \n",
1290 | "3627 2012 Ataque ao prédio \n",
1291 | "3665 2012 Clementina de Jesus - Rainha Quelé \n",
1292 | "3787 2012 Luto em Luta \n",
1293 | "3815 2012 Movimento Browniano \n",
1294 | "3829 2012 O abrigo \n",
1295 | "3920 2012 Ponto Org \n",
1296 | "4085 2011 A Última Estrada da Praia \n",
1297 | "4462 2011 Poema de Salvação \n",
1298 | "4466 2011 Porta a porta – A política em dois tempos \n",
1299 | "4587 2011 Walachai \n",
1300 | "4732 2010 Cine Cocoricó: As Aventuras na Cidade \n",
1301 | "4853 2010 Luto Como Mãe \n",
1302 | "5022 2010 Simonal - Ninguém Sabe o Duro que Dei \n",
1303 | "5203 2009 As Chaves de Casa \n",
1304 | "5463 2009 Naufrágio - Mistério e Morte na Catástrofe do ... \n",
1305 | "5591 2009 Santiago \n",
1306 | "5666 2009 Vamos Subir, Leão \n",
1307 | "\n",
1308 | " Gênero País(es) produtor(es) da obra Nacionalidade da obra \\\n",
1309 | "2277 Documentário Brasil Brasileiros \n",
1310 | "2608 Ficção Brasil Brasileiros \n",
1311 | "2728 Ficção Brasil Brasileiros \n",
1312 | "3041 Ficção Brasil Brasileiros \n",
1313 | "3058 Ficção Itália Estrangeiros \n",
1314 | "3105 Ficção Estados Unidos Estrangeiros \n",
1315 | "3390 Ficção Brasil Brasileiros \n",
1316 | "3459 Ficção Reino Unido Estrangeiros \n",
1317 | "3603 Ficção França, Eslovênia, Sérvia, Croácia Estrangeiros \n",
1318 | "3627 Ficção Reino Unido Estrangeiros \n",
1319 | "3665 Documentário Brasil Brasileiros \n",
1320 | "3787 Documentário Brasil Brasileiros \n",
1321 | "3815 Ficção Holanda Estrangeiros \n",
1322 | "3829 Ficção Estados Unidos Estrangeiros \n",
1323 | "3920 Ficção Brasil Brasileiros \n",
1324 | "4085 Ficção Brasil Brasileiros \n",
1325 | "4462 Ficção Argentina Estrangeiros \n",
1326 | "4466 Documentário Brasil Brasileiros \n",
1327 | "4587 Documentário Brasil Brasileiros \n",
1328 | "4732 Ficção Brasil Brasileiros \n",
1329 | "4853 Documentário Brasil Brasileiros \n",
1330 | "5022 Documentário Brasil Brasileiros \n",
1331 | "5203 Ficção Itália Estrangeiros \n",
1332 | "5463 Documentário Brasil Brasileiros \n",
1333 | "5591 Documentário Brasil Brasileiros \n",
1334 | "5666 Documentário Brasil Brasileiros \n",
1335 | "\n",
1336 | " Data de lançamento Distribuidora \\\n",
1337 | "2277 2013-10-11 Cine Santa Teresa \n",
1338 | "2608 2014-01-17 Petrini \n",
1339 | "2728 2014-05-01 Sam Rádio Pictures \n",
1340 | "3041 2013-08-09 Petrini \n",
1341 | "3058 2013-05-10 Petrini \n",
1342 | "3105 2013-06-28 Petrini \n",
1343 | "3390 2013-08-16 NGM Produções \n",
1344 | "3459 2014-01-24 Esfera Produções \n",
1345 | "3603 2015-05-07 Lume \n",
1346 | "3627 2012-01-13 Sony \n",
1347 | "3665 2012-11-15 Werinton Kermes Telles Marsal \n",
1348 | "3787 2012-09-21 Like Filmes \n",
1349 | "3815 2012-07-06 Petrini \n",
1350 | "3829 2012-06-01 Sony \n",
1351 | "3920 2012-09-21 Usina Digital \n",
1352 | "4085 2011-09-16 Okna Produções \n",
1353 | "4462 2011-09-30 Canzión filmes \n",
1354 | "4466 2011-12-02 Zéfiro Produções \n",
1355 | "4587 2011-11-18 Ciclorama \n",
1356 | "4732 2009-07-17 Moviemobz \n",
1357 | "4853 2010-08-20 TV Zero Cinema \n",
1358 | "5022 2009-05-15 Moviemobz/RioFilme \n",
1359 | "5203 2006-01-06 Filmes do Estação \n",
1360 | "5463 2009-12-25 Master Shot Produções \n",
1361 | "5591 2007-08-24 Videofilmes \n",
1362 | "5666 2009-03-20 Canal 3 \n",
1363 | "\n",
1364 | " Origem da empresa distribuidora Público no ano de exibição \\\n",
1365 | "2277 Distribuição Nacional 355 \n",
1366 | "2608 Distribuição Nacional 0 \n",
1367 | "2728 Distribuição Nacional 0 \n",
1368 | "3041 Distribuição Nacional 0 \n",
1369 | "3058 Distribuição Nacional 0 \n",
1370 | "3105 Distribuição Nacional 0 \n",
1371 | "3390 Distribuição Nacional 0 \n",
1372 | "3459 Distribuição Nacional 0 \n",
1373 | "3603 Distribuição Nacional 0 \n",
1374 | "3627 Distribuição Internacional 0 \n",
1375 | "3665 Distribuição Nacional 0 \n",
1376 | "3787 Distribuição Nacional 0 \n",
1377 | "3815 Distribuição Nacional 0 \n",
1378 | "3829 Distribuição Internacional 0 \n",
1379 | "3920 Distribuição Nacional 0 \n",
1380 | "4085 Distribuição Nacional 0 \n",
1381 | "4462 Distribuição Nacional 0 \n",
1382 | "4466 Distribuição Nacional 0 \n",
1383 | "4587 Distribuição Nacional 0 \n",
1384 | "4732 Distribuição Nacional 1 \n",
1385 | "4853 Distribuição Nacional 0 \n",
1386 | "5022 Distribuição Nacional 1 \n",
1387 | "5203 Distribuição Nacional 0 \n",
1388 | "5463 Distribuição Nacional 0 \n",
1389 | "5591 Distribuição Nacional 0 \n",
1390 | "5666 Distribuição Nacional 0 \n",
1391 | "\n",
1392 | " Renda (R$) no ano de exibição \n",
1393 | "2277 0.0 \n",
1394 | "2608 0.0 \n",
1395 | "2728 0.0 \n",
1396 | "3041 0.0 \n",
1397 | "3058 0.0 \n",
1398 | "3105 0.0 \n",
1399 | "3390 0.0 \n",
1400 | "3459 0.0 \n",
1401 | "3603 0.0 \n",
1402 | "3627 0.0 \n",
1403 | "3665 0.0 \n",
1404 | "3787 0.0 \n",
1405 | "3815 0.0 \n",
1406 | "3829 0.0 \n",
1407 | "3920 0.0 \n",
1408 | "4085 0.0 \n",
1409 | "4462 0.0 \n",
1410 | "4466 0.0 \n",
1411 | "4587 0.0 \n",
1412 | "4732 0.0 \n",
1413 | "4853 0.0 \n",
1414 | "5022 0.0 \n",
1415 | "5203 0.0 \n",
1416 | "5463 0.0 \n",
1417 | "5591 0.0 \n",
1418 | "5666 0.0 "
1419 | ]
1420 | },
1421 | "execution_count": 31,
1422 | "metadata": {},
1423 | "output_type": "execute_result"
1424 | }
1425 | ],
1426 | "source": [
1427 | "# Qual é o filme que teve a menor bilheteria?\n",
1428 | "df_novo[df_novo['Renda (R$) no ano de exibição'] == df_novo['Renda (R$) no ano de exibição'].min()]"
1429 | ]
1430 | },
1431 | {
1432 | "cell_type": "code",
1433 | "execution_count": 32,
1434 | "metadata": {},
1435 | "outputs": [
1436 | {
1437 | "data": {
1438 | "text/plain": [
1439 | "Estrangeiros 3902\n",
1440 | "Brasileiros 1614\n",
1441 | "Name: Nacionalidade da obra, dtype: int64"
1442 | ]
1443 | },
1444 | "execution_count": 32,
1445 | "metadata": {},
1446 | "output_type": "execute_result"
1447 | }
1448 | ],
1449 | "source": [
1450 | "# Quantos filmes brasileiros e estrangeiros?\n",
1451 | "df_novo['Nacionalidade da obra'].value_counts()"
1452 | ]
1453 | },
1454 | {
1455 | "cell_type": "code",
1456 | "execution_count": null,
1457 | "metadata": {},
1458 | "outputs": [],
1459 | "source": []
1460 | }
1461 | ],
1462 | "metadata": {
1463 | "kernelspec": {
1464 | "display_name": "Python 3",
1465 | "language": "python",
1466 | "name": "python3"
1467 | },
1468 | "language_info": {
1469 | "codemirror_mode": {
1470 | "name": "ipython",
1471 | "version": 3
1472 | },
1473 | "file_extension": ".py",
1474 | "mimetype": "text/x-python",
1475 | "name": "python",
1476 | "nbconvert_exporter": "python",
1477 | "pygments_lexer": "ipython3",
1478 | "version": "3.7.1"
1479 | }
1480 | },
1481 | "nbformat": 4,
1482 | "nbformat_minor": 2
1483 | }
1484 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # Análise de Dados em Python - LabHacker Câmara dos Deputados
2 |
3 | Jupyter notebooks criados durante o curso de análise de dados com Python disponibilizado pelo [LabHacker Câmara dos Deputados](http://labhackercd.leg.br/).
4 |
5 | ## Vídeos
6 |
7 | * [Instalando o Anaconda](https://youtu.be/wiMVpFfxA0w)
8 | * [Aula 01](https://youtu.be/W_Bz7M91R1Q)
9 | * [Aula 02](https://youtu.be/2oZHg3HOtcY)
10 | * [Aula 03](https://youtu.be/zpNtiJsJ7KY)
11 | * [Aula 04](https://youtu.be/hyDvL_CzbX4)
12 |
--------------------------------------------------------------------------------
/sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rodolfoghi/curso-labhacker-analise-dados-com-python/7f499d981ab28532ef5e2fbde36ebbdb22990a6d/sih-janeiro-2017-cirurgias-eletiva-e-emergencia.csv
--------------------------------------------------------------------------------