Repasamos analizando la Copa América¶
Vamos a analizar los resultados de la Copa América, a partir de la página de la Wikipedia sobre este torneo.
import pandas as pd
url = "https://es.wikipedia.org/wiki/Copa_Am%C3%A9rica"
result = pd.read_html(url)
- ¿Qué tipo es result?
- ¿Qué hace read_html()?
Exploramos la tabla general¶
Esta tabla, con la información de los torneos, se encuentra en result[1].
Observemos cómo está compuesto el dataframe. ¿Cuáles son los nombres de las columnas? ¿Todas tienen valores válidos?
result[1]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Año | # | Equipos | Sede | NaN | Campeón | FinalResultados | Subcampeón | NaN | Tercero | Resultados | Cuarto | NaN | NaN |
1 | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | NaN | NaN |
2 | 1916[n 1]Detalle | I | 4 | Argentina | NaN | Uruguay (1) | Lig.[n 2] | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
3 | 1917Detalle | II | 4 | Uruguay | NaN | Uruguay (2) | Lig. | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
4 | 1919Detalle | III | 4 | Brasil | NaN | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | NaN | Argentina | Lig. | Chile | NaN | NaN |
5 | 1920Detalle | IV | 4 | Chile | NaN | Uruguay (3) | Lig. | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
6 | 1921Detalle | V | 4 | Argentina | NaN | Argentina (1) | Lig. | Brasil | NaN | Uruguay | Lig. | Paraguay | NaN | NaN |
7 | 1922Detalle | VI | 5 | Brasil | NaN | Brasil (2) | 3:0[n 3] | Paraguay | NaN | Uruguay | Lig. | Argentina | NaN | NaN |
8 | 1923[n 6]Detalle | VII | 4 | Uruguay | NaN | Uruguay (4) | Lig. | Argentina | NaN | Paraguay | Lig. | Brasil | NaN | NaN |
9 | 1924Detalle | VIII | 4 | Uruguay[n 7] | NaN | Uruguay (5) | Lig. | Argentina | NaN | Paraguay | Lig. | Chile | NaN | NaN |
10 | 1925Detalle | IX | 3 | Argentina | NaN | Argentina (2) | Lig. | Brasil | NaN | Paraguay | Lig. | [n 8] | NaN | NaN |
11 | 1926Detalle | X | 5 | Chile | NaN | Uruguay (6) | Lig. | Argentina | NaN | Chile | Lig. | Paraguay | NaN | NaN |
12 | 1927[n 9]Detalle | XI | 4 | Perú | NaN | Argentina (3) | Lig. | Uruguay | NaN | Perú | Lig. | Bolivia | NaN | NaN |
13 | 1929Detalle | XII | 4 | Argentina | NaN | Argentina (4) | Lig. | Paraguay | NaN | Uruguay | Lig. | Perú | NaN | NaN |
14 | 1935[n 1][n 10]Detalle | XIII | 4 | Perú | NaN | Uruguay (7) | Lig. | Argentina | NaN | Perú | Lig. | Chile | NaN | NaN |
15 | 1937[n 11]Detalle | XIV | 6 | Argentina | NaN | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | NaN | Uruguay | Lig. | Paraguay | NaN | NaN |
16 | 1939Detalle | XV | 5 | Perú | NaN | Perú (1) | Lig. | Uruguay | NaN | Paraguay | Lig. | Chile | NaN | NaN |
17 | 1941[n 1]Detalle | XVI | 5 | Chile | NaN | Argentina (6) | Lig. | Uruguay | NaN | Chile | Lig. | Perú | NaN | NaN |
18 | 1942Detalle | XVII | 7 | Uruguay | NaN | Uruguay (8) | Lig. | Argentina | NaN | Brasil | Lig. | Paraguay | NaN | NaN |
19 | 1945[n 1]Detalle | XVIII | 7 | Chile | NaN | Argentina (7) | Lig. | Brasil | NaN | Chile | Lig. | Uruguay | NaN | NaN |
20 | 1946[n 1]Detalle | XIX | 6 | Argentina | NaN | Argentina (8) | Lig. | Brasil | NaN | Paraguay | Lig. | Uruguay | NaN | NaN |
21 | 1947Detalle | XX | 8 | Ecuador | NaN | Argentina (9) | Lig. | Paraguay | NaN | Uruguay | Lig. | Chile | NaN | NaN |
22 | 1949Detalle | XXI | 8 | Brasil | NaN | Brasil (3) | 7:0[n 3] | Paraguay | NaN | Perú | Lig. | Bolivia | NaN | NaN |
23 | 1953Detalle | XXII | 7 | Perú[n 13] | NaN | Paraguay (1) | 3:2[n 3] | Brasil | NaN | Uruguay | Lig. | Chile | NaN | NaN |
24 | 1955Detalle | XXIII | 6 | Chile | NaN | Argentina (10) | Lig. | Chile | NaN | Perú | Lig. | Uruguay | NaN | NaN |
25 | 1956[n 1]Detalle | XXIV | 6 | Uruguay | NaN | Uruguay (9) | Lig. | Chile | NaN | Argentina | Lig. | Brasil | NaN | NaN |
26 | 1957Detalle | XXV | 7 | Perú | NaN | Argentina (11) | Lig. | Brasil | NaN | Uruguay | Lig. | Perú | NaN | NaN |
27 | 1959Detalle | XXVI | 7 | Argentina | NaN | Argentina (12) | Lig. | Brasil | NaN | Paraguay | Lig. | Perú | NaN | NaN |
28 | 1959[n 1]Detalle | XXVII | 5 | Ecuador | NaN | Uruguay (10) | Lig. | Argentina | NaN | Brasil | Lig. | Ecuador | NaN | NaN |
29 | 1963Detalle | XXVIII | 7 | Bolivia | NaN | Bolivia (1) | Lig. | Paraguay | NaN | Argentina | Lig. | Brasil | NaN | NaN |
30 | 1967Detalle | XXIX | 6 | Uruguay | NaN | Uruguay (11) | Lig. | Argentina | NaN | Chile | Lig. | Paraguay | NaN | NaN |
31 | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | NaN | NaN |
32 | 1975Detalle | XXX | 10 | Sudamérica | NaN | Perú (2) | 0:12:01:0 | Colombia | NaN | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | NaN | NaN |
33 | 1979Detalle | XXXI | 10 | Sudamérica | NaN | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | NaN | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú | NaN | NaN |
34 | 1983Detalle | XXXII | 10 | Sudamérica | NaN | Uruguay (12) | 2:01:1 | Brasil | NaN | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | NaN | NaN |
35 | 1987Detalle | XXXIII | 10 | Argentina | NaN | Uruguay (13) | 1:0 | Chile | NaN | Colombia | 2:1 | Argentina | NaN | NaN |
36 | 1989Detalle | XXXIV | 10 | Brasil | NaN | Brasil (4) | Lig. | Uruguay | NaN | Argentina | Lig. | Paraguay | NaN | NaN |
37 | 1991Detalle | XXXV | 10 | Chile | NaN | Argentina (13) | Lig. | Brasil | NaN | Chile | Lig. | Colombia | NaN | NaN |
38 | 1993Detalle | XXXVI | 12 | Ecuador | NaN | Argentina (14) | 2:1 | México | NaN | Colombia | 1:0 | Ecuador | NaN | NaN |
39 | 1995Detalle | XXXVII | 12 | Uruguay | NaN | Uruguay (14) | 1:1(5:3 pen.) | Brasil | NaN | Colombia | 4:1 | Estados Unidos | NaN | NaN |
40 | 1997Detalle | XXXVIII | 12 | Bolivia | NaN | Brasil (5) | 3:1 | Bolivia | NaN | México | 1:0 | Perú | NaN | NaN |
41 | 1999Detalle | XXXIX | 12 | Paraguay | NaN | Brasil (6) | 3:0 | Uruguay | NaN | México | 2:1 | Chile | NaN | NaN |
42 | 2001Detalle | XL | 12 | Colombia | NaN | Colombia (1) | 1:0 | México | NaN | Honduras | 2:2(5:4 pen.) | Uruguay | NaN | NaN |
43 | 2004Detalle | XLI | 12 | Perú | NaN | Brasil (7) | 2:2(4:2 pen.) | Argentina | NaN | Uruguay | 2:1 | Colombia | NaN | NaN |
44 | 2007Detalle | XLII | 12 | Venezuela | NaN | Brasil (8) | 3:0 | Argentina | NaN | México | 3:1 | Uruguay | NaN | NaN |
45 | 2011Detalle | XLIII | 12 | Argentina | NaN | Uruguay (15) | 3:0 | Paraguay | NaN | Perú | 4:1 | Venezuela | NaN | NaN |
46 | 2015Detalle | XLIV | 12 | Chile | NaN | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | NaN | Perú | 2:0 | Paraguay | NaN | NaN |
47 | 2016Detalle | XLV | 16 | Estados Unidos | NaN | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | NaN | Colombia | 1:0 | Estados Unidos | NaN | NaN |
48 | 2019Detalle | XLVI | 12 | Brasil | NaN | Brasil (9) | 3:1 | Perú | NaN | Argentina | 2:1 | Chile | NaN | NaN |
49 | 2021[n 16]Detalle | XLVII | 10 | Brasil[n 16] | NaN | Argentina (15) | 1:0 | Brasil | NaN | Colombia | 3:2 | Perú | NaN | NaN |
Empecemos a "limpiar" el dataframe: columnas no válidas¶
ediciones = result[1]
ediciones
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Año | # | Equipos | Sede | NaN | Campeón | FinalResultados | Subcampeón | NaN | Tercero | Resultados | Cuarto | NaN | NaN |
1 | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | NaN | NaN |
2 | 1916[n 1]Detalle | I | 4 | Argentina | NaN | Uruguay (1) | Lig.[n 2] | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
3 | 1917Detalle | II | 4 | Uruguay | NaN | Uruguay (2) | Lig. | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
4 | 1919Detalle | III | 4 | Brasil | NaN | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | NaN | Argentina | Lig. | Chile | NaN | NaN |
5 | 1920Detalle | IV | 4 | Chile | NaN | Uruguay (3) | Lig. | Argentina | NaN | Brasil | Lig. | Chile | NaN | NaN |
6 | 1921Detalle | V | 4 | Argentina | NaN | Argentina (1) | Lig. | Brasil | NaN | Uruguay | Lig. | Paraguay | NaN | NaN |
7 | 1922Detalle | VI | 5 | Brasil | NaN | Brasil (2) | 3:0[n 3] | Paraguay | NaN | Uruguay | Lig. | Argentina | NaN | NaN |
8 | 1923[n 6]Detalle | VII | 4 | Uruguay | NaN | Uruguay (4) | Lig. | Argentina | NaN | Paraguay | Lig. | Brasil | NaN | NaN |
9 | 1924Detalle | VIII | 4 | Uruguay[n 7] | NaN | Uruguay (5) | Lig. | Argentina | NaN | Paraguay | Lig. | Chile | NaN | NaN |
10 | 1925Detalle | IX | 3 | Argentina | NaN | Argentina (2) | Lig. | Brasil | NaN | Paraguay | Lig. | [n 8] | NaN | NaN |
11 | 1926Detalle | X | 5 | Chile | NaN | Uruguay (6) | Lig. | Argentina | NaN | Chile | Lig. | Paraguay | NaN | NaN |
12 | 1927[n 9]Detalle | XI | 4 | Perú | NaN | Argentina (3) | Lig. | Uruguay | NaN | Perú | Lig. | Bolivia | NaN | NaN |
13 | 1929Detalle | XII | 4 | Argentina | NaN | Argentina (4) | Lig. | Paraguay | NaN | Uruguay | Lig. | Perú | NaN | NaN |
14 | 1935[n 1][n 10]Detalle | XIII | 4 | Perú | NaN | Uruguay (7) | Lig. | Argentina | NaN | Perú | Lig. | Chile | NaN | NaN |
15 | 1937[n 11]Detalle | XIV | 6 | Argentina | NaN | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | NaN | Uruguay | Lig. | Paraguay | NaN | NaN |
16 | 1939Detalle | XV | 5 | Perú | NaN | Perú (1) | Lig. | Uruguay | NaN | Paraguay | Lig. | Chile | NaN | NaN |
17 | 1941[n 1]Detalle | XVI | 5 | Chile | NaN | Argentina (6) | Lig. | Uruguay | NaN | Chile | Lig. | Perú | NaN | NaN |
18 | 1942Detalle | XVII | 7 | Uruguay | NaN | Uruguay (8) | Lig. | Argentina | NaN | Brasil | Lig. | Paraguay | NaN | NaN |
19 | 1945[n 1]Detalle | XVIII | 7 | Chile | NaN | Argentina (7) | Lig. | Brasil | NaN | Chile | Lig. | Uruguay | NaN | NaN |
20 | 1946[n 1]Detalle | XIX | 6 | Argentina | NaN | Argentina (8) | Lig. | Brasil | NaN | Paraguay | Lig. | Uruguay | NaN | NaN |
21 | 1947Detalle | XX | 8 | Ecuador | NaN | Argentina (9) | Lig. | Paraguay | NaN | Uruguay | Lig. | Chile | NaN | NaN |
22 | 1949Detalle | XXI | 8 | Brasil | NaN | Brasil (3) | 7:0[n 3] | Paraguay | NaN | Perú | Lig. | Bolivia | NaN | NaN |
23 | 1953Detalle | XXII | 7 | Perú[n 13] | NaN | Paraguay (1) | 3:2[n 3] | Brasil | NaN | Uruguay | Lig. | Chile | NaN | NaN |
24 | 1955Detalle | XXIII | 6 | Chile | NaN | Argentina (10) | Lig. | Chile | NaN | Perú | Lig. | Uruguay | NaN | NaN |
25 | 1956[n 1]Detalle | XXIV | 6 | Uruguay | NaN | Uruguay (9) | Lig. | Chile | NaN | Argentina | Lig. | Brasil | NaN | NaN |
26 | 1957Detalle | XXV | 7 | Perú | NaN | Argentina (11) | Lig. | Brasil | NaN | Uruguay | Lig. | Perú | NaN | NaN |
27 | 1959Detalle | XXVI | 7 | Argentina | NaN | Argentina (12) | Lig. | Brasil | NaN | Paraguay | Lig. | Perú | NaN | NaN |
28 | 1959[n 1]Detalle | XXVII | 5 | Ecuador | NaN | Uruguay (10) | Lig. | Argentina | NaN | Brasil | Lig. | Ecuador | NaN | NaN |
29 | 1963Detalle | XXVIII | 7 | Bolivia | NaN | Bolivia (1) | Lig. | Paraguay | NaN | Argentina | Lig. | Brasil | NaN | NaN |
30 | 1967Detalle | XXIX | 6 | Uruguay | NaN | Uruguay (11) | Lig. | Argentina | NaN | Chile | Lig. | Paraguay | NaN | NaN |
31 | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | NaN | NaN |
32 | 1975Detalle | XXX | 10 | Sudamérica | NaN | Perú (2) | 0:12:01:0 | Colombia | NaN | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | NaN | NaN |
33 | 1979Detalle | XXXI | 10 | Sudamérica | NaN | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | NaN | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú | NaN | NaN |
34 | 1983Detalle | XXXII | 10 | Sudamérica | NaN | Uruguay (12) | 2:01:1 | Brasil | NaN | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | NaN | NaN |
35 | 1987Detalle | XXXIII | 10 | Argentina | NaN | Uruguay (13) | 1:0 | Chile | NaN | Colombia | 2:1 | Argentina | NaN | NaN |
36 | 1989Detalle | XXXIV | 10 | Brasil | NaN | Brasil (4) | Lig. | Uruguay | NaN | Argentina | Lig. | Paraguay | NaN | NaN |
37 | 1991Detalle | XXXV | 10 | Chile | NaN | Argentina (13) | Lig. | Brasil | NaN | Chile | Lig. | Colombia | NaN | NaN |
38 | 1993Detalle | XXXVI | 12 | Ecuador | NaN | Argentina (14) | 2:1 | México | NaN | Colombia | 1:0 | Ecuador | NaN | NaN |
39 | 1995Detalle | XXXVII | 12 | Uruguay | NaN | Uruguay (14) | 1:1(5:3 pen.) | Brasil | NaN | Colombia | 4:1 | Estados Unidos | NaN | NaN |
40 | 1997Detalle | XXXVIII | 12 | Bolivia | NaN | Brasil (5) | 3:1 | Bolivia | NaN | México | 1:0 | Perú | NaN | NaN |
41 | 1999Detalle | XXXIX | 12 | Paraguay | NaN | Brasil (6) | 3:0 | Uruguay | NaN | México | 2:1 | Chile | NaN | NaN |
42 | 2001Detalle | XL | 12 | Colombia | NaN | Colombia (1) | 1:0 | México | NaN | Honduras | 2:2(5:4 pen.) | Uruguay | NaN | NaN |
43 | 2004Detalle | XLI | 12 | Perú | NaN | Brasil (7) | 2:2(4:2 pen.) | Argentina | NaN | Uruguay | 2:1 | Colombia | NaN | NaN |
44 | 2007Detalle | XLII | 12 | Venezuela | NaN | Brasil (8) | 3:0 | Argentina | NaN | México | 3:1 | Uruguay | NaN | NaN |
45 | 2011Detalle | XLIII | 12 | Argentina | NaN | Uruguay (15) | 3:0 | Paraguay | NaN | Perú | 4:1 | Venezuela | NaN | NaN |
46 | 2015Detalle | XLIV | 12 | Chile | NaN | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | NaN | Perú | 2:0 | Paraguay | NaN | NaN |
47 | 2016Detalle | XLV | 16 | Estados Unidos | NaN | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | NaN | Colombia | 1:0 | Estados Unidos | NaN | NaN |
48 | 2019Detalle | XLVI | 12 | Brasil | NaN | Brasil (9) | 3:1 | Perú | NaN | Argentina | 2:1 | Chile | NaN | NaN |
49 | 2021[n 16]Detalle | XLVII | 10 | Brasil[n 16] | NaN | Argentina (15) | 1:0 | Brasil | NaN | Colombia | 3:2 | Perú | NaN | NaN |
Empecemos a "limpiar" el dataframe: ¿qué representan los valores NaN?¶
- Con este valor indicamos que el valor no está o es nulo.
- En nuestro dataset, tenemos columnas con estos valores. Vamos a eliminar estas columnas: ¿cuáles son las columnas que deberíamos elimiinar?
ediciones = ediciones.drop([4, 8, 12, 13], axis='columns')
ediciones
0 | 1 | 2 | 3 | 5 | 6 | 7 | 9 | 10 | 11 | |
---|---|---|---|---|---|---|---|---|---|---|
0 | Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto |
1 | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano |
2 | 1916[n 1]Detalle | I | 4 | Argentina | Uruguay (1) | Lig.[n 2] | Argentina | Brasil | Lig. | Chile |
3 | 1917Detalle | II | 4 | Uruguay | Uruguay (2) | Lig. | Argentina | Brasil | Lig. | Chile |
4 | 1919Detalle | III | 4 | Brasil | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | Argentina | Lig. | Chile |
5 | 1920Detalle | IV | 4 | Chile | Uruguay (3) | Lig. | Argentina | Brasil | Lig. | Chile |
6 | 1921Detalle | V | 4 | Argentina | Argentina (1) | Lig. | Brasil | Uruguay | Lig. | Paraguay |
7 | 1922Detalle | VI | 5 | Brasil | Brasil (2) | 3:0[n 3] | Paraguay | Uruguay | Lig. | Argentina |
8 | 1923[n 6]Detalle | VII | 4 | Uruguay | Uruguay (4) | Lig. | Argentina | Paraguay | Lig. | Brasil |
9 | 1924Detalle | VIII | 4 | Uruguay[n 7] | Uruguay (5) | Lig. | Argentina | Paraguay | Lig. | Chile |
10 | 1925Detalle | IX | 3 | Argentina | Argentina (2) | Lig. | Brasil | Paraguay | Lig. | [n 8] |
11 | 1926Detalle | X | 5 | Chile | Uruguay (6) | Lig. | Argentina | Chile | Lig. | Paraguay |
12 | 1927[n 9]Detalle | XI | 4 | Perú | Argentina (3) | Lig. | Uruguay | Perú | Lig. | Bolivia |
13 | 1929Detalle | XII | 4 | Argentina | Argentina (4) | Lig. | Paraguay | Uruguay | Lig. | Perú |
14 | 1935[n 1][n 10]Detalle | XIII | 4 | Perú | Uruguay (7) | Lig. | Argentina | Perú | Lig. | Chile |
15 | 1937[n 11]Detalle | XIV | 6 | Argentina | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | Uruguay | Lig. | Paraguay |
16 | 1939Detalle | XV | 5 | Perú | Perú (1) | Lig. | Uruguay | Paraguay | Lig. | Chile |
17 | 1941[n 1]Detalle | XVI | 5 | Chile | Argentina (6) | Lig. | Uruguay | Chile | Lig. | Perú |
18 | 1942Detalle | XVII | 7 | Uruguay | Uruguay (8) | Lig. | Argentina | Brasil | Lig. | Paraguay |
19 | 1945[n 1]Detalle | XVIII | 7 | Chile | Argentina (7) | Lig. | Brasil | Chile | Lig. | Uruguay |
20 | 1946[n 1]Detalle | XIX | 6 | Argentina | Argentina (8) | Lig. | Brasil | Paraguay | Lig. | Uruguay |
21 | 1947Detalle | XX | 8 | Ecuador | Argentina (9) | Lig. | Paraguay | Uruguay | Lig. | Chile |
22 | 1949Detalle | XXI | 8 | Brasil | Brasil (3) | 7:0[n 3] | Paraguay | Perú | Lig. | Bolivia |
23 | 1953Detalle | XXII | 7 | Perú[n 13] | Paraguay (1) | 3:2[n 3] | Brasil | Uruguay | Lig. | Chile |
24 | 1955Detalle | XXIII | 6 | Chile | Argentina (10) | Lig. | Chile | Perú | Lig. | Uruguay |
25 | 1956[n 1]Detalle | XXIV | 6 | Uruguay | Uruguay (9) | Lig. | Chile | Argentina | Lig. | Brasil |
26 | 1957Detalle | XXV | 7 | Perú | Argentina (11) | Lig. | Brasil | Uruguay | Lig. | Perú |
27 | 1959Detalle | XXVI | 7 | Argentina | Argentina (12) | Lig. | Brasil | Paraguay | Lig. | Perú |
28 | 1959[n 1]Detalle | XXVII | 5 | Ecuador | Uruguay (10) | Lig. | Argentina | Brasil | Lig. | Ecuador |
29 | 1963Detalle | XXVIII | 7 | Bolivia | Bolivia (1) | Lig. | Paraguay | Argentina | Lig. | Brasil |
30 | 1967Detalle | XXIX | 6 | Uruguay | Uruguay (11) | Lig. | Argentina | Chile | Lig. | Paraguay |
31 | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América |
32 | 1975Detalle | XXX | 10 | Sudamérica | Perú (2) | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979Detalle | XXXI | 10 | Sudamérica | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983Detalle | XXXII | 10 | Sudamérica | Uruguay (12) | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987Detalle | XXXIII | 10 | Argentina | Uruguay (13) | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989Detalle | XXXIV | 10 | Brasil | Brasil (4) | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991Detalle | XXXV | 10 | Chile | Argentina (13) | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993Detalle | XXXVI | 12 | Ecuador | Argentina (14) | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995Detalle | XXXVII | 12 | Uruguay | Uruguay (14) | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997Detalle | XXXVIII | 12 | Bolivia | Brasil (5) | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999Detalle | XXXIX | 12 | Paraguay | Brasil (6) | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001Detalle | XL | 12 | Colombia | Colombia (1) | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004Detalle | XLI | 12 | Perú | Brasil (7) | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007Detalle | XLII | 12 | Venezuela | Brasil (8) | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011Detalle | XLIII | 12 | Argentina | Uruguay (15) | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015Detalle | XLIV | 12 | Chile | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016Detalle | XLV | 16 | Estados Unidos | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019Detalle | XLVI | 12 | Brasil | Brasil (9) | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021[n 16]Detalle | XLVII | 10 | Brasil[n 16] | Argentina (15) | 1:0 | Brasil | Colombia | 3:2 | Perú |
Observemos los nombres de las columnas¶
ediciones.columns
Int64Index([0, 1, 2, 3, 5, 6, 7, 9, 10, 11], dtype='int64')
- ¿Dónde se encuentran los nombres de las columnas?
ediciones.columns = ediciones.iloc[0]
ediciones
Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto | |
---|---|---|---|---|---|---|---|---|---|---|
0 | Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto |
1 | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano | Campeonato Sudamericano |
2 | 1916[n 1]Detalle | I | 4 | Argentina | Uruguay (1) | Lig.[n 2] | Argentina | Brasil | Lig. | Chile |
3 | 1917Detalle | II | 4 | Uruguay | Uruguay (2) | Lig. | Argentina | Brasil | Lig. | Chile |
4 | 1919Detalle | III | 4 | Brasil | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | Argentina | Lig. | Chile |
5 | 1920Detalle | IV | 4 | Chile | Uruguay (3) | Lig. | Argentina | Brasil | Lig. | Chile |
6 | 1921Detalle | V | 4 | Argentina | Argentina (1) | Lig. | Brasil | Uruguay | Lig. | Paraguay |
7 | 1922Detalle | VI | 5 | Brasil | Brasil (2) | 3:0[n 3] | Paraguay | Uruguay | Lig. | Argentina |
8 | 1923[n 6]Detalle | VII | 4 | Uruguay | Uruguay (4) | Lig. | Argentina | Paraguay | Lig. | Brasil |
9 | 1924Detalle | VIII | 4 | Uruguay[n 7] | Uruguay (5) | Lig. | Argentina | Paraguay | Lig. | Chile |
10 | 1925Detalle | IX | 3 | Argentina | Argentina (2) | Lig. | Brasil | Paraguay | Lig. | [n 8] |
11 | 1926Detalle | X | 5 | Chile | Uruguay (6) | Lig. | Argentina | Chile | Lig. | Paraguay |
12 | 1927[n 9]Detalle | XI | 4 | Perú | Argentina (3) | Lig. | Uruguay | Perú | Lig. | Bolivia |
13 | 1929Detalle | XII | 4 | Argentina | Argentina (4) | Lig. | Paraguay | Uruguay | Lig. | Perú |
14 | 1935[n 1][n 10]Detalle | XIII | 4 | Perú | Uruguay (7) | Lig. | Argentina | Perú | Lig. | Chile |
15 | 1937[n 11]Detalle | XIV | 6 | Argentina | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | Uruguay | Lig. | Paraguay |
16 | 1939Detalle | XV | 5 | Perú | Perú (1) | Lig. | Uruguay | Paraguay | Lig. | Chile |
17 | 1941[n 1]Detalle | XVI | 5 | Chile | Argentina (6) | Lig. | Uruguay | Chile | Lig. | Perú |
18 | 1942Detalle | XVII | 7 | Uruguay | Uruguay (8) | Lig. | Argentina | Brasil | Lig. | Paraguay |
19 | 1945[n 1]Detalle | XVIII | 7 | Chile | Argentina (7) | Lig. | Brasil | Chile | Lig. | Uruguay |
20 | 1946[n 1]Detalle | XIX | 6 | Argentina | Argentina (8) | Lig. | Brasil | Paraguay | Lig. | Uruguay |
21 | 1947Detalle | XX | 8 | Ecuador | Argentina (9) | Lig. | Paraguay | Uruguay | Lig. | Chile |
22 | 1949Detalle | XXI | 8 | Brasil | Brasil (3) | 7:0[n 3] | Paraguay | Perú | Lig. | Bolivia |
23 | 1953Detalle | XXII | 7 | Perú[n 13] | Paraguay (1) | 3:2[n 3] | Brasil | Uruguay | Lig. | Chile |
24 | 1955Detalle | XXIII | 6 | Chile | Argentina (10) | Lig. | Chile | Perú | Lig. | Uruguay |
25 | 1956[n 1]Detalle | XXIV | 6 | Uruguay | Uruguay (9) | Lig. | Chile | Argentina | Lig. | Brasil |
26 | 1957Detalle | XXV | 7 | Perú | Argentina (11) | Lig. | Brasil | Uruguay | Lig. | Perú |
27 | 1959Detalle | XXVI | 7 | Argentina | Argentina (12) | Lig. | Brasil | Paraguay | Lig. | Perú |
28 | 1959[n 1]Detalle | XXVII | 5 | Ecuador | Uruguay (10) | Lig. | Argentina | Brasil | Lig. | Ecuador |
29 | 1963Detalle | XXVIII | 7 | Bolivia | Bolivia (1) | Lig. | Paraguay | Argentina | Lig. | Brasil |
30 | 1967Detalle | XXIX | 6 | Uruguay | Uruguay (11) | Lig. | Argentina | Chile | Lig. | Paraguay |
31 | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América |
32 | 1975Detalle | XXX | 10 | Sudamérica | Perú (2) | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979Detalle | XXXI | 10 | Sudamérica | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983Detalle | XXXII | 10 | Sudamérica | Uruguay (12) | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987Detalle | XXXIII | 10 | Argentina | Uruguay (13) | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989Detalle | XXXIV | 10 | Brasil | Brasil (4) | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991Detalle | XXXV | 10 | Chile | Argentina (13) | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993Detalle | XXXVI | 12 | Ecuador | Argentina (14) | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995Detalle | XXXVII | 12 | Uruguay | Uruguay (14) | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997Detalle | XXXVIII | 12 | Bolivia | Brasil (5) | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999Detalle | XXXIX | 12 | Paraguay | Brasil (6) | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001Detalle | XL | 12 | Colombia | Colombia (1) | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004Detalle | XLI | 12 | Perú | Brasil (7) | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007Detalle | XLII | 12 | Venezuela | Brasil (8) | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011Detalle | XLIII | 12 | Argentina | Uruguay (15) | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015Detalle | XLIV | 12 | Chile | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016Detalle | XLV | 16 | Estados Unidos | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019Detalle | XLVI | 12 | Brasil | Brasil (9) | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021[n 16]Detalle | XLVII | 10 | Brasil[n 16] | Argentina (15) | 1:0 | Brasil | Colombia | 3:2 | Perú |
Vemos que las dos primeras filas no tienen datos válidos para nuestro análisis. Por lo tanto, las vamos a eliminar antes de seguir:
ediciones = ediciones[2:]
ediciones
Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto | |
---|---|---|---|---|---|---|---|---|---|---|
2 | 1916[n 1]Detalle | I | 4 | Argentina | Uruguay (1) | Lig.[n 2] | Argentina | Brasil | Lig. | Chile |
3 | 1917Detalle | II | 4 | Uruguay | Uruguay (2) | Lig. | Argentina | Brasil | Lig. | Chile |
4 | 1919Detalle | III | 4 | Brasil | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | Argentina | Lig. | Chile |
5 | 1920Detalle | IV | 4 | Chile | Uruguay (3) | Lig. | Argentina | Brasil | Lig. | Chile |
6 | 1921Detalle | V | 4 | Argentina | Argentina (1) | Lig. | Brasil | Uruguay | Lig. | Paraguay |
7 | 1922Detalle | VI | 5 | Brasil | Brasil (2) | 3:0[n 3] | Paraguay | Uruguay | Lig. | Argentina |
8 | 1923[n 6]Detalle | VII | 4 | Uruguay | Uruguay (4) | Lig. | Argentina | Paraguay | Lig. | Brasil |
9 | 1924Detalle | VIII | 4 | Uruguay[n 7] | Uruguay (5) | Lig. | Argentina | Paraguay | Lig. | Chile |
10 | 1925Detalle | IX | 3 | Argentina | Argentina (2) | Lig. | Brasil | Paraguay | Lig. | [n 8] |
11 | 1926Detalle | X | 5 | Chile | Uruguay (6) | Lig. | Argentina | Chile | Lig. | Paraguay |
12 | 1927[n 9]Detalle | XI | 4 | Perú | Argentina (3) | Lig. | Uruguay | Perú | Lig. | Bolivia |
13 | 1929Detalle | XII | 4 | Argentina | Argentina (4) | Lig. | Paraguay | Uruguay | Lig. | Perú |
14 | 1935[n 1][n 10]Detalle | XIII | 4 | Perú | Uruguay (7) | Lig. | Argentina | Perú | Lig. | Chile |
15 | 1937[n 11]Detalle | XIV | 6 | Argentina | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | Uruguay | Lig. | Paraguay |
16 | 1939Detalle | XV | 5 | Perú | Perú (1) | Lig. | Uruguay | Paraguay | Lig. | Chile |
17 | 1941[n 1]Detalle | XVI | 5 | Chile | Argentina (6) | Lig. | Uruguay | Chile | Lig. | Perú |
18 | 1942Detalle | XVII | 7 | Uruguay | Uruguay (8) | Lig. | Argentina | Brasil | Lig. | Paraguay |
19 | 1945[n 1]Detalle | XVIII | 7 | Chile | Argentina (7) | Lig. | Brasil | Chile | Lig. | Uruguay |
20 | 1946[n 1]Detalle | XIX | 6 | Argentina | Argentina (8) | Lig. | Brasil | Paraguay | Lig. | Uruguay |
21 | 1947Detalle | XX | 8 | Ecuador | Argentina (9) | Lig. | Paraguay | Uruguay | Lig. | Chile |
22 | 1949Detalle | XXI | 8 | Brasil | Brasil (3) | 7:0[n 3] | Paraguay | Perú | Lig. | Bolivia |
23 | 1953Detalle | XXII | 7 | Perú[n 13] | Paraguay (1) | 3:2[n 3] | Brasil | Uruguay | Lig. | Chile |
24 | 1955Detalle | XXIII | 6 | Chile | Argentina (10) | Lig. | Chile | Perú | Lig. | Uruguay |
25 | 1956[n 1]Detalle | XXIV | 6 | Uruguay | Uruguay (9) | Lig. | Chile | Argentina | Lig. | Brasil |
26 | 1957Detalle | XXV | 7 | Perú | Argentina (11) | Lig. | Brasil | Uruguay | Lig. | Perú |
27 | 1959Detalle | XXVI | 7 | Argentina | Argentina (12) | Lig. | Brasil | Paraguay | Lig. | Perú |
28 | 1959[n 1]Detalle | XXVII | 5 | Ecuador | Uruguay (10) | Lig. | Argentina | Brasil | Lig. | Ecuador |
29 | 1963Detalle | XXVIII | 7 | Bolivia | Bolivia (1) | Lig. | Paraguay | Argentina | Lig. | Brasil |
30 | 1967Detalle | XXIX | 6 | Uruguay | Uruguay (11) | Lig. | Argentina | Chile | Lig. | Paraguay |
31 | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América |
32 | 1975Detalle | XXX | 10 | Sudamérica | Perú (2) | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979Detalle | XXXI | 10 | Sudamérica | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983Detalle | XXXII | 10 | Sudamérica | Uruguay (12) | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987Detalle | XXXIII | 10 | Argentina | Uruguay (13) | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989Detalle | XXXIV | 10 | Brasil | Brasil (4) | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991Detalle | XXXV | 10 | Chile | Argentina (13) | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993Detalle | XXXVI | 12 | Ecuador | Argentina (14) | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995Detalle | XXXVII | 12 | Uruguay | Uruguay (14) | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997Detalle | XXXVIII | 12 | Bolivia | Brasil (5) | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999Detalle | XXXIX | 12 | Paraguay | Brasil (6) | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001Detalle | XL | 12 | Colombia | Colombia (1) | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004Detalle | XLI | 12 | Perú | Brasil (7) | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007Detalle | XLII | 12 | Venezuela | Brasil (8) | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011Detalle | XLIII | 12 | Argentina | Uruguay (15) | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015Detalle | XLIV | 12 | Chile | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016Detalle | XLV | 16 | Estados Unidos | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019Detalle | XLVI | 12 | Brasil | Brasil (9) | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021[n 16]Detalle | XLVII | 10 | Brasil[n 16] | Argentina (15) | 1:0 | Brasil | Colombia | 3:2 | Perú |
Observemos la columna año ...¶
Si obervamos la columna año, vemos que todas terminan con la cadena "Detalle". Vamos a eliminar esto y dejar sólo el año.
ediciones["Año"].head()
2 1916[n 1]Detalle 3 1917Detalle 4 1919Detalle 5 1920Detalle 6 1921Detalle Name: Año, dtype: object
#ediciones["Año"].str[0:4]
ediciones["Año"] = ediciones["Año"].str[0:4]
/tmp/ipykernel_5831/1426302486.py:2: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ediciones["Año"] = ediciones["Año"].str[0:4]
ediciones["Año"]
2 1916 3 1917 4 1919 5 1920 6 1921 7 1922 8 1923 9 1924 10 1925 11 1926 12 1927 13 1929 14 1935 15 1937 16 1939 17 1941 18 1942 19 1945 20 1946 21 1947 22 1949 23 1953 24 1955 25 1956 26 1957 27 1959 28 1959 29 1963 30 1967 31 Copa 32 1975 33 1979 34 1983 35 1987 36 1989 37 1991 38 1993 39 1995 40 1997 41 1999 42 2001 43 2004 44 2007 45 2011 46 2015 47 2016 48 2019 49 2021 Name: Año, dtype: object
Esta operación genera SettingWithCopyWarning, ¿por qué?
SettingWithCopyWarning¶
- Algunas acciones en pandas retornan una vista de los datos y otras una copia
SettingWithCopyWarning¶
- Por lo tanto, ante una modificación:
Por lo tanto ...¶
#ediciones = ediciones.copy()
ediciones.tail(20)
Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto | |
---|---|---|---|---|---|---|---|---|---|---|
30 | 1967 | XXIX | 6 | Uruguay | Uruguay (11) | Lig. | Argentina | Chile | Lig. | Paraguay |
31 | Copa | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América | Copa América |
32 | 1975 | XXX | 10 | Sudamérica | Perú (2) | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979 | XXXI | 10 | Sudamérica | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983 | XXXII | 10 | Sudamérica | Uruguay (12) | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987 | XXXIII | 10 | Argentina | Uruguay (13) | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989 | XXXIV | 10 | Brasil | Brasil (4) | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991 | XXXV | 10 | Chile | Argentina (13) | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993 | XXXVI | 12 | Ecuador | Argentina (14) | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995 | XXXVII | 12 | Uruguay | Uruguay (14) | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997 | XXXVIII | 12 | Bolivia | Brasil (5) | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999 | XXXIX | 12 | Paraguay | Brasil (6) | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001 | XL | 12 | Colombia | Colombia (1) | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004 | XLI | 12 | Perú | Brasil (7) | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007 | XLII | 12 | Venezuela | Brasil (8) | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011 | XLIII | 12 | Argentina | Uruguay (15) | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015 | XLIV | 12 | Chile | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016 | XLV | 16 | Estados Unidos | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019 | XLVI | 12 | Brasil | Brasil (9) | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021 | XLVII | 10 | Brasil[n 16] | Argentina (15) | 1:0 | Brasil | Colombia | 3:2 | Perú |
Si observamos los datos, podemos ver que hay una fila con datos que no nos sirve: la fila 31. La vamo a eliminar. Si el dataset es muy grande, ¿cómo podemos darnos cuenta de estas cosas?
ediciones = ediciones.drop([31], axis="rows")
ediciones
Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto | |
---|---|---|---|---|---|---|---|---|---|---|
2 | 1916 | I | 4 | Argentina | Uruguay (1) | Lig.[n 2] | Argentina | Brasil | Lig. | Chile |
3 | 1917 | II | 4 | Uruguay | Uruguay (2) | Lig. | Argentina | Brasil | Lig. | Chile |
4 | 1919 | III | 4 | Brasil | Brasil (1) | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | Argentina | Lig. | Chile |
5 | 1920 | IV | 4 | Chile | Uruguay (3) | Lig. | Argentina | Brasil | Lig. | Chile |
6 | 1921 | V | 4 | Argentina | Argentina (1) | Lig. | Brasil | Uruguay | Lig. | Paraguay |
7 | 1922 | VI | 5 | Brasil | Brasil (2) | 3:0[n 3] | Paraguay | Uruguay | Lig. | Argentina |
8 | 1923 | VII | 4 | Uruguay | Uruguay (4) | Lig. | Argentina | Paraguay | Lig. | Brasil |
9 | 1924 | VIII | 4 | Uruguay[n 7] | Uruguay (5) | Lig. | Argentina | Paraguay | Lig. | Chile |
10 | 1925 | IX | 3 | Argentina | Argentina (2) | Lig. | Brasil | Paraguay | Lig. | [n 8] |
11 | 1926 | X | 5 | Chile | Uruguay (6) | Lig. | Argentina | Chile | Lig. | Paraguay |
12 | 1927 | XI | 4 | Perú | Argentina (3) | Lig. | Uruguay | Perú | Lig. | Bolivia |
13 | 1929 | XII | 4 | Argentina | Argentina (4) | Lig. | Paraguay | Uruguay | Lig. | Perú |
14 | 1935 | XIII | 4 | Perú | Uruguay (7) | Lig. | Argentina | Perú | Lig. | Chile |
15 | 1937 | XIV | 6 | Argentina | Argentina (5) | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | Uruguay | Lig. | Paraguay |
16 | 1939 | XV | 5 | Perú | Perú (1) | Lig. | Uruguay | Paraguay | Lig. | Chile |
17 | 1941 | XVI | 5 | Chile | Argentina (6) | Lig. | Uruguay | Chile | Lig. | Perú |
18 | 1942 | XVII | 7 | Uruguay | Uruguay (8) | Lig. | Argentina | Brasil | Lig. | Paraguay |
19 | 1945 | XVIII | 7 | Chile | Argentina (7) | Lig. | Brasil | Chile | Lig. | Uruguay |
20 | 1946 | XIX | 6 | Argentina | Argentina (8) | Lig. | Brasil | Paraguay | Lig. | Uruguay |
21 | 1947 | XX | 8 | Ecuador | Argentina (9) | Lig. | Paraguay | Uruguay | Lig. | Chile |
22 | 1949 | XXI | 8 | Brasil | Brasil (3) | 7:0[n 3] | Paraguay | Perú | Lig. | Bolivia |
23 | 1953 | XXII | 7 | Perú[n 13] | Paraguay (1) | 3:2[n 3] | Brasil | Uruguay | Lig. | Chile |
24 | 1955 | XXIII | 6 | Chile | Argentina (10) | Lig. | Chile | Perú | Lig. | Uruguay |
25 | 1956 | XXIV | 6 | Uruguay | Uruguay (9) | Lig. | Chile | Argentina | Lig. | Brasil |
26 | 1957 | XXV | 7 | Perú | Argentina (11) | Lig. | Brasil | Uruguay | Lig. | Perú |
27 | 1959 | XXVI | 7 | Argentina | Argentina (12) | Lig. | Brasil | Paraguay | Lig. | Perú |
28 | 1959 | XXVII | 5 | Ecuador | Uruguay (10) | Lig. | Argentina | Brasil | Lig. | Ecuador |
29 | 1963 | XXVIII | 7 | Bolivia | Bolivia (1) | Lig. | Paraguay | Argentina | Lig. | Brasil |
30 | 1967 | XXIX | 6 | Uruguay | Uruguay (11) | Lig. | Argentina | Chile | Lig. | Paraguay |
32 | 1975 | XXX | 10 | Sudamérica | Perú (2) | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979 | XXXI | 10 | Sudamérica | Paraguay (2) | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983 | XXXII | 10 | Sudamérica | Uruguay (12) | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987 | XXXIII | 10 | Argentina | Uruguay (13) | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989 | XXXIV | 10 | Brasil | Brasil (4) | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991 | XXXV | 10 | Chile | Argentina (13) | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993 | XXXVI | 12 | Ecuador | Argentina (14) | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995 | XXXVII | 12 | Uruguay | Uruguay (14) | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997 | XXXVIII | 12 | Bolivia | Brasil (5) | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999 | XXXIX | 12 | Paraguay | Brasil (6) | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001 | XL | 12 | Colombia | Colombia (1) | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004 | XLI | 12 | Perú | Brasil (7) | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007 | XLII | 12 | Venezuela | Brasil (8) | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011 | XLIII | 12 | Argentina | Uruguay (15) | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015 | XLIV | 12 | Chile | Chile (1) | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016 | XLV | 16 | Estados Unidos | Chile (2) | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019 | XLVI | 12 | Brasil | Brasil (9) | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021 | XLVII | 10 | Brasil[n 16] | Argentina (15) | 1:0 | Brasil | Colombia | 3:2 | Perú |
Observemos la columna Campeón ...¶
Otro dato que podríamos "limpiar" es la columna Campeón. Si observamos, todos los países terminan con una cadena similar a: "(x)". Si queremos utilizar esta columna para nuestras consultas, esto podría traernos poblemas.
Vamos a eliminar estos caracteres de los valores de esta columna:
#ediciones["Campeón"].str[:-4]
ediciones["Campeón"] = ediciones["Campeón"].str[:-4]
ediciones
Año | # | Equipos | Sede | Campeón | FinalResultados | Subcampeón | Tercero | Resultados | Cuarto | |
---|---|---|---|---|---|---|---|---|---|---|
2 | 1916 | I | 4 | Argentina | Uruguay | Lig.[n 2] | Argentina | Brasil | Lig. | Chile |
3 | 1917 | II | 4 | Uruguay | Uruguay | Lig. | Argentina | Brasil | Lig. | Chile |
4 | 1919 | III | 4 | Brasil | Brasil | 1:0[n 3] (pró.)[n 4][n 5] | Uruguay | Argentina | Lig. | Chile |
5 | 1920 | IV | 4 | Chile | Uruguay | Lig. | Argentina | Brasil | Lig. | Chile |
6 | 1921 | V | 4 | Argentina | Argentina | Lig. | Brasil | Uruguay | Lig. | Paraguay |
7 | 1922 | VI | 5 | Brasil | Brasil | 3:0[n 3] | Paraguay | Uruguay | Lig. | Argentina |
8 | 1923 | VII | 4 | Uruguay | Uruguay | Lig. | Argentina | Paraguay | Lig. | Brasil |
9 | 1924 | VIII | 4 | Uruguay[n 7] | Uruguay | Lig. | Argentina | Paraguay | Lig. | Chile |
10 | 1925 | IX | 3 | Argentina | Argentina | Lig. | Brasil | Paraguay | Lig. | [n 8] |
11 | 1926 | X | 5 | Chile | Uruguay | Lig. | Argentina | Chile | Lig. | Paraguay |
12 | 1927 | XI | 4 | Perú | Argentina | Lig. | Uruguay | Perú | Lig. | Bolivia |
13 | 1929 | XII | 4 | Argentina | Argentina | Lig. | Paraguay | Uruguay | Lig. | Perú |
14 | 1935 | XIII | 4 | Perú | Uruguay | Lig. | Argentina | Perú | Lig. | Chile |
15 | 1937 | XIV | 6 | Argentina | Argentina | 2:0[n 3] (pró.)[n 4][n 12] | Brasil | Uruguay | Lig. | Paraguay |
16 | 1939 | XV | 5 | Perú | Perú | Lig. | Uruguay | Paraguay | Lig. | Chile |
17 | 1941 | XVI | 5 | Chile | Argentina | Lig. | Uruguay | Chile | Lig. | Perú |
18 | 1942 | XVII | 7 | Uruguay | Uruguay | Lig. | Argentina | Brasil | Lig. | Paraguay |
19 | 1945 | XVIII | 7 | Chile | Argentina | Lig. | Brasil | Chile | Lig. | Uruguay |
20 | 1946 | XIX | 6 | Argentina | Argentina | Lig. | Brasil | Paraguay | Lig. | Uruguay |
21 | 1947 | XX | 8 | Ecuador | Argentina | Lig. | Paraguay | Uruguay | Lig. | Chile |
22 | 1949 | XXI | 8 | Brasil | Brasil | 7:0[n 3] | Paraguay | Perú | Lig. | Bolivia |
23 | 1953 | XXII | 7 | Perú[n 13] | Paraguay | 3:2[n 3] | Brasil | Uruguay | Lig. | Chile |
24 | 1955 | XXIII | 6 | Chile | Argentina | Lig. | Chile | Perú | Lig. | Uruguay |
25 | 1956 | XXIV | 6 | Uruguay | Uruguay | Lig. | Chile | Argentina | Lig. | Brasil |
26 | 1957 | XXV | 7 | Perú | Argentina | Lig. | Brasil | Uruguay | Lig. | Perú |
27 | 1959 | XXVI | 7 | Argentina | Argentina | Lig. | Brasil | Paraguay | Lig. | Perú |
28 | 1959 | XXVII | 5 | Ecuador | Uruguay | Lig. | Argentina | Brasil | Lig. | Ecuador |
29 | 1963 | XXVIII | 7 | Bolivia | Bolivia | Lig. | Paraguay | Argentina | Lig. | Brasil |
30 | 1967 | XXIX | 6 | Uruguay | Uruguay | Lig. | Argentina | Chile | Lig. | Paraguay |
32 | 1975 | XXX | 10 | Sudamérica | Perú | 0:12:01:0 | Colombia | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay | Brasil y[n 14] Uruguay |
33 | 1979 | XXXI | 10 | Sudamérica | Paraguay | 3:00:10:0 (pró.)[n 4][n 15][n 12] | Chile | Brasil y[n 14] Perú | Brasil y[n 14] Perú | Brasil y[n 14] Perú |
34 | 1983 | XXXII | 10 | Sudamérica | Uruguay | 2:01:1 | Brasil | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú | Paraguay y[n 14] Perú |
35 | 1987 | XXXIII | 10 | Argentina | Uruguay | 1:0 | Chile | Colombia | 2:1 | Argentina |
36 | 1989 | XXXIV | 10 | Brasil | Brasil | Lig. | Uruguay | Argentina | Lig. | Paraguay |
37 | 1991 | XXXV | 10 | Chile | Argentina | Lig. | Brasil | Chile | Lig. | Colombia |
38 | 1993 | XXXVI | 12 | Ecuador | Argentina | 2:1 | México | Colombia | 1:0 | Ecuador |
39 | 1995 | XXXVII | 12 | Uruguay | Uruguay | 1:1(5:3 pen.) | Brasil | Colombia | 4:1 | Estados Unidos |
40 | 1997 | XXXVIII | 12 | Bolivia | Brasil | 3:1 | Bolivia | México | 1:0 | Perú |
41 | 1999 | XXXIX | 12 | Paraguay | Brasil | 3:0 | Uruguay | México | 2:1 | Chile |
42 | 2001 | XL | 12 | Colombia | Colombia | 1:0 | México | Honduras | 2:2(5:4 pen.) | Uruguay |
43 | 2004 | XLI | 12 | Perú | Brasil | 2:2(4:2 pen.) | Argentina | Uruguay | 2:1 | Colombia |
44 | 2007 | XLII | 12 | Venezuela | Brasil | 3:0 | Argentina | México | 3:1 | Uruguay |
45 | 2011 | XLIII | 12 | Argentina | Uruguay | 3:0 | Paraguay | Perú | 4:1 | Venezuela |
46 | 2015 | XLIV | 12 | Chile | Chile | 0:0 (pró.)[n 4][n 12](4:1 pen.) | Argentina | Perú | 2:0 | Paraguay |
47 | 2016 | XLV | 16 | Estados Unidos | Chile | 0:0 (pró.)[n 4][n 12](4:2 pen.) | Argentina | Colombia | 1:0 | Estados Unidos |
48 | 2019 | XLVI | 12 | Brasil | Brasil | 3:1 | Perú | Argentina | 2:1 | Chile |
49 | 2021 | XLVII | 10 | Brasil[n 16] | Argentina | 1:0 | Brasil | Colombia | 3:2 | Perú |
nuestras_copas = ediciones[ediciones["Campeón"] == "Argentina"]
len(nuestras_copas)
9
nuestras_copas[["Año"]]
Año | |
---|---|
6 | 1921 |
10 | 1925 |
12 | 1927 |
13 | 1929 |
15 | 1937 |
17 | 1941 |
19 | 1945 |
20 | 1946 |
21 | 1947 |
Mmm ... Esto NO es correcto esto¶
ediciones["Campeón"].unique()
array(['Uruguay', 'Brasil', 'Argentina', 'Perú', 'Paraguay', 'Argentina ', 'Uruguay ', 'Bolivia', 'Colombia', 'Chile'], dtype=object)
nuestras_copas = ediciones[(ediciones["Campeón"] == "Argentina") | (ediciones["Campeón"] == "Argentina ")]
len(nuestras_copas)
15
Los 5 países que más veces salieron campeones¶
ediciones.groupby("Campeón").size().sort_values(ascending=False).head(5)
Campeón Argentina 9 Brasil 9 Uruguay 9 Argentina 6 Uruguay 6 dtype: int64
¿Algo raro?¶
Observemos que hay países que aparecen varias veces: ¿por qué?
ediciones["Campeón"].unique()
array(['Uruguay', 'Brasil', 'Argentina', 'Perú', 'Paraguay', 'Argentina ', 'Uruguay ', 'Bolivia', 'Colombia', 'Chile'], dtype=object)
Si obervamos los datos, "Argentina" y "Uruguay" aparecen dos veces.
Vamos a resolver esto:¶
paises = {'Argentina ': 'Argentina',
'Uruguay ': 'Uruguay',}
ediciones = ediciones.copy()
ediciones['Campeón'] = ediciones['Campeón'].replace(paises)
ediciones["Campeón"].unique()
array(['Uruguay', 'Brasil', 'Argentina', 'Perú', 'Paraguay', 'Bolivia', 'Colombia', 'Chile'], dtype=object)
Ahora volvemos a calcular:¶
ediciones.groupby("Campeón").size().sort_values(ascending=False).head()
Campeón Argentina 15 Uruguay 15 Brasil 9 Chile 2 Paraguay 2 dtype: int64
Países organizadores que salieron campeones¶
campeones_organizadores = ediciones[ediciones["Sede"] == ediciones["Campeón"]]
campeones_organizadores[["Año", "Sede"]]
Año | Sede | |
---|---|---|
3 | 1917 | Uruguay |
4 | 1919 | Brasil |
6 | 1921 | Argentina |
7 | 1922 | Brasil |
8 | 1923 | Uruguay |
10 | 1925 | Argentina |
13 | 1929 | Argentina |
15 | 1937 | Argentina |
16 | 1939 | Perú |
18 | 1942 | Uruguay |
20 | 1946 | Argentina |
22 | 1949 | Brasil |
25 | 1956 | Uruguay |
27 | 1959 | Argentina |
29 | 1963 | Bolivia |
30 | 1967 | Uruguay |
36 | 1989 | Brasil |
39 | 1995 | Uruguay |
42 | 2001 | Colombia |
46 | 2015 | Chile |
48 | 2019 | Brasil |
Ahora vamos a trabajar con la tabla de goleadores¶
- Deberíamos ver cuál es el dataframe que la representa en la lista result.
goleadores_x_edicion = result[12]
goleadores_x_edicion
Jugador | Selección | Edición | Goles | |
---|---|---|---|---|
0 | Isabelino Gradín | Uruguay | 1916 | 3 |
1 | Ángel Romano | Uruguay | 1917 | 4 |
2 | Arthur FriedenreichNeco | Brasil Brasil | 1919 | 4 |
3 | José PérezÁngel Romano | Uruguay Uruguay | 1920 | 3 |
4 | Julio Libonatti | Argentina | 1921 | 3 |
5 | Juan Francia | Argentina | 1922 | 4 |
6 | Pedro PetroneVicente Aguirre | Uruguay Argentina | 1923 | 3 |
7 | Pedro Petrone | Uruguay | 1924 | 4 |
8 | Manuel Seoane | Argentina | 1925 | 6 |
9 | David Arellano | Chile | 1926 | 7 |
10 | Alfredo CarricaberrySegundo LunaRoberto Figuer... | Argentina Argentina Uruguay Uruguay Uruguay | 1927 | 3 |
11 | Aurelio González | Paraguay | 1929 | 5 |
12 | Herminio Masantonio | Argentina | 1935 | 4 |
13 | Raúl Toro | Chile | 1937 | 7 |
14 | Lolo Fernández | Perú | 1939 | 7 |
15 | Juan Andrés Marvezzi | Argentina | 1941 | 5 |
16 | Herminio MasantonioJosé Manuel Moreno | Argentina Argentina | 1942 | 7 |
17 | Norberto MéndezHeleno de Freitas | Argentina Brasil | 1945 | 6 |
18 | José María Medina | Uruguay | 1946 | 7 |
19 | Nicolás Falero | Uruguay | 1947 | 8 |
20 | Jair | Brasil | 1949 | 9 |
21 | Francisco Molina | Chile | 1953 | 7 |
22 | Rodolfo Micheli | Argentina | 1955 | 8 |
23 | Enrique Hormazábal | Chile | 1956 | 4 |
24 | Humberto MaschioJavier Ambrois | Argentina Uruguay | 1957 | 9 |
25 | Pelé | Brasil | 1959-I | 8 |
26 | José Sanfilippo | Argentina | 1959-II | 6 |
27 | Carlos Alberto Raffo | Ecuador | 1963 | 6 |
28 | Luis Artime | Argentina | 1967 | 5 |
29 | José Ernesto DíazLeopoldo Jacinto Luque | Colombia Argentina | 1975 | 4 |
30 | Eugenio MorelJorge Peredo | Paraguay Chile | 1979 | 4 |
31 | Carlos Alberto AguileraRoberto DinamiteJorge B... | Uruguay Brasil Argentina Perú | 1983 | 3 |
32 | Arnoldo Iguarán | Colombia | 1987 | 4 |
33 | Bebeto | Brasil | 1989 | 6 |
34 | Gabriel Omar Batistuta | Argentina | 1991 | 6 |
35 | José Luis Dolgetta | Venezuela | 1993 | 4 |
36 | Gabriel Omar BatistutaLuis García | Argentina México | 1995 | 4 |
37 | Luis Hernández | México | 1997 | 6 |
38 | RivaldoRonaldo | Brasil Brasil | 1999 | 5 |
39 | Víctor Hugo Aristizábal | Colombia | 2001 | 6 |
40 | Adriano | Brasil | 2004 | 7 |
41 | Robinho | Brasil | 2007 | 6 |
42 | Paolo Guerrero | Perú | 2011 | 5 |
43 | Eduardo VargasPaolo Guerrero | Chile Perú | 2015 | 4 |
44 | Eduardo Vargas | Chile | 2016 | 6 |
45 | EvertonPaolo Guerrero | Brasil Perú | 2019 | 3 |
46 | Lionel MessiLuis Díaz | Argentina Colombia | 2021 | 4 |
Queremos saber cuándo el goleador del torneo pertenece a la selección campeona¶
¿Podemos obtener este dato trabajando con la tabla de goleadores?
goleadores_x_edicion
Jugador | Selección | Edición | Goles | |
---|---|---|---|---|
0 | Isabelino Gradín | Uruguay | 1916 | 3 |
1 | Ángel Romano | Uruguay | 1917 | 4 |
2 | Arthur FriedenreichNeco | Brasil Brasil | 1919 | 4 |
3 | José PérezÁngel Romano | Uruguay Uruguay | 1920 | 3 |
4 | Julio Libonatti | Argentina | 1921 | 3 |
5 | Juan Francia | Argentina | 1922 | 4 |
6 | Pedro PetroneVicente Aguirre | Uruguay Argentina | 1923 | 3 |
7 | Pedro Petrone | Uruguay | 1924 | 4 |
8 | Manuel Seoane | Argentina | 1925 | 6 |
9 | David Arellano | Chile | 1926 | 7 |
10 | Alfredo CarricaberrySegundo LunaRoberto Figuer... | Argentina Argentina Uruguay Uruguay Uruguay | 1927 | 3 |
11 | Aurelio González | Paraguay | 1929 | 5 |
12 | Herminio Masantonio | Argentina | 1935 | 4 |
13 | Raúl Toro | Chile | 1937 | 7 |
14 | Lolo Fernández | Perú | 1939 | 7 |
15 | Juan Andrés Marvezzi | Argentina | 1941 | 5 |
16 | Herminio MasantonioJosé Manuel Moreno | Argentina Argentina | 1942 | 7 |
17 | Norberto MéndezHeleno de Freitas | Argentina Brasil | 1945 | 6 |
18 | José María Medina | Uruguay | 1946 | 7 |
19 | Nicolás Falero | Uruguay | 1947 | 8 |
20 | Jair | Brasil | 1949 | 9 |
21 | Francisco Molina | Chile | 1953 | 7 |
22 | Rodolfo Micheli | Argentina | 1955 | 8 |
23 | Enrique Hormazábal | Chile | 1956 | 4 |
24 | Humberto MaschioJavier Ambrois | Argentina Uruguay | 1957 | 9 |
25 | Pelé | Brasil | 1959-I | 8 |
26 | José Sanfilippo | Argentina | 1959-II | 6 |
27 | Carlos Alberto Raffo | Ecuador | 1963 | 6 |
28 | Luis Artime | Argentina | 1967 | 5 |
29 | José Ernesto DíazLeopoldo Jacinto Luque | Colombia Argentina | 1975 | 4 |
30 | Eugenio MorelJorge Peredo | Paraguay Chile | 1979 | 4 |
31 | Carlos Alberto AguileraRoberto DinamiteJorge B... | Uruguay Brasil Argentina Perú | 1983 | 3 |
32 | Arnoldo Iguarán | Colombia | 1987 | 4 |
33 | Bebeto | Brasil | 1989 | 6 |
34 | Gabriel Omar Batistuta | Argentina | 1991 | 6 |
35 | José Luis Dolgetta | Venezuela | 1993 | 4 |
36 | Gabriel Omar BatistutaLuis García | Argentina México | 1995 | 4 |
37 | Luis Hernández | México | 1997 | 6 |
38 | RivaldoRonaldo | Brasil Brasil | 1999 | 5 |
39 | Víctor Hugo Aristizábal | Colombia | 2001 | 6 |
40 | Adriano | Brasil | 2004 | 7 |
41 | Robinho | Brasil | 2007 | 6 |
42 | Paolo Guerrero | Perú | 2011 | 5 |
43 | Eduardo VargasPaolo Guerrero | Chile Perú | 2015 | 4 |
44 | Eduardo Vargas | Chile | 2016 | 6 |
45 | EvertonPaolo Guerrero | Brasil Perú | 2019 | 3 |
46 | Lionel MessiLuis Díaz | Argentina Colombia | 2021 | 4 |
En este dataframe sólo tenemos el año del torneo, no el país que fue sede. Para esto, podemos agregar la sede (el país) en la tabla de goleadores.
Esto implica unir dos dataframes usando la operación merge.
ediciones_recortada = ediciones[["Año", "Campeón"]]
ediciones_recortada
Año | Campeón | |
---|---|---|
2 | 1916 | Uruguay |
3 | 1917 | Uruguay |
4 | 1919 | Brasil |
5 | 1920 | Uruguay |
6 | 1921 | Argentina |
7 | 1922 | Brasil |
8 | 1923 | Uruguay |
9 | 1924 | Uruguay |
10 | 1925 | Argentina |
11 | 1926 | Uruguay |
12 | 1927 | Argentina |
13 | 1929 | Argentina |
14 | 1935 | Uruguay |
15 | 1937 | Argentina |
16 | 1939 | Perú |
17 | 1941 | Argentina |
18 | 1942 | Uruguay |
19 | 1945 | Argentina |
20 | 1946 | Argentina |
21 | 1947 | Argentina |
22 | 1949 | Brasil |
23 | 1953 | Paraguay |
24 | 1955 | Argentina |
25 | 1956 | Uruguay |
26 | 1957 | Argentina |
27 | 1959 | Argentina |
28 | 1959 | Uruguay |
29 | 1963 | Bolivia |
30 | 1967 | Uruguay |
32 | 1975 | Perú |
33 | 1979 | Paraguay |
34 | 1983 | Uruguay |
35 | 1987 | Uruguay |
36 | 1989 | Brasil |
37 | 1991 | Argentina |
38 | 1993 | Argentina |
39 | 1995 | Uruguay |
40 | 1997 | Brasil |
41 | 1999 | Brasil |
42 | 2001 | Colombia |
43 | 2004 | Brasil |
44 | 2007 | Brasil |
45 | 2011 | Uruguay |
46 | 2015 | Chile |
47 | 2016 | Chile |
48 | 2019 | Brasil |
49 | 2021 | Argentina |
ediciones_recortada.columns = ["Edición", "Campeón"]
ediciones_recortada.columns
¿Por qué creen que cambiamos el nombre de la columna?
goleadores_completa = pd.merge(goleadores_x_edicion, ediciones_recortada, on='Edición')
goleadores_completa
Jugador | Selección | Edición | Goles | Campeón | |
---|---|---|---|---|---|
0 | Isabelino Gradín | Uruguay | 1916 | 3 | Uruguay |
1 | Ángel Romano | Uruguay | 1917 | 4 | Uruguay |
2 | Arthur FriedenreichNeco | Brasil Brasil | 1919 | 4 | Brasil |
3 | José PérezÁngel Romano | Uruguay Uruguay | 1920 | 3 | Uruguay |
4 | Julio Libonatti | Argentina | 1921 | 3 | Argentina |
5 | Juan Francia | Argentina | 1922 | 4 | Brasil |
6 | Pedro PetroneVicente Aguirre | Uruguay Argentina | 1923 | 3 | Uruguay |
7 | Pedro Petrone | Uruguay | 1924 | 4 | Uruguay |
8 | Manuel Seoane | Argentina | 1925 | 6 | Argentina |
9 | David Arellano | Chile | 1926 | 7 | Uruguay |
10 | Alfredo CarricaberrySegundo LunaRoberto Figuer... | Argentina Argentina Uruguay Uruguay Uruguay | 1927 | 3 | Argentina |
11 | Aurelio González | Paraguay | 1929 | 5 | Argentina |
12 | Herminio Masantonio | Argentina | 1935 | 4 | Uruguay |
13 | Raúl Toro | Chile | 1937 | 7 | Argentina |
14 | Lolo Fernández | Perú | 1939 | 7 | Perú |
15 | Juan Andrés Marvezzi | Argentina | 1941 | 5 | Argentina |
16 | Herminio MasantonioJosé Manuel Moreno | Argentina Argentina | 1942 | 7 | Uruguay |
17 | Norberto MéndezHeleno de Freitas | Argentina Brasil | 1945 | 6 | Argentina |
18 | José María Medina | Uruguay | 1946 | 7 | Argentina |
19 | Nicolás Falero | Uruguay | 1947 | 8 | Argentina |
20 | Jair | Brasil | 1949 | 9 | Brasil |
21 | Francisco Molina | Chile | 1953 | 7 | Paraguay |
22 | Rodolfo Micheli | Argentina | 1955 | 8 | Argentina |
23 | Enrique Hormazábal | Chile | 1956 | 4 | Uruguay |
24 | Humberto MaschioJavier Ambrois | Argentina Uruguay | 1957 | 9 | Argentina |
25 | Carlos Alberto Raffo | Ecuador | 1963 | 6 | Bolivia |
26 | Luis Artime | Argentina | 1967 | 5 | Uruguay |
27 | José Ernesto DíazLeopoldo Jacinto Luque | Colombia Argentina | 1975 | 4 | Perú |
28 | Eugenio MorelJorge Peredo | Paraguay Chile | 1979 | 4 | Paraguay |
29 | Carlos Alberto AguileraRoberto DinamiteJorge B... | Uruguay Brasil Argentina Perú | 1983 | 3 | Uruguay |
30 | Arnoldo Iguarán | Colombia | 1987 | 4 | Uruguay |
31 | Bebeto | Brasil | 1989 | 6 | Brasil |
32 | Gabriel Omar Batistuta | Argentina | 1991 | 6 | Argentina |
33 | José Luis Dolgetta | Venezuela | 1993 | 4 | Argentina |
34 | Gabriel Omar BatistutaLuis García | Argentina México | 1995 | 4 | Uruguay |
35 | Luis Hernández | México | 1997 | 6 | Brasil |
36 | RivaldoRonaldo | Brasil Brasil | 1999 | 5 | Brasil |
37 | Víctor Hugo Aristizábal | Colombia | 2001 | 6 | Colombia |
38 | Adriano | Brasil | 2004 | 7 | Brasil |
39 | Robinho | Brasil | 2007 | 6 | Brasil |
40 | Paolo Guerrero | Perú | 2011 | 5 | Uruguay |
41 | Eduardo VargasPaolo Guerrero | Chile Perú | 2015 | 4 | Chile |
42 | Eduardo Vargas | Chile | 2016 | 6 | Chile |
43 | EvertonPaolo Guerrero | Brasil Perú | 2019 | 3 | Brasil |
44 | Lionel MessiLuis Díaz | Argentina Colombia | 2021 | 4 | Argentina |
Y ahora si, obtenemos el dato pedido: goleadores del torneo pertenecientes a la selección sede.
¿La siguiente consulta resuelve nuestro problema?
goleadores_completa[goleadores_completa["Campeón"] == goleadores_completa["Selección"]]
Jugador | Selección | Edición | Goles | Campeón | |
---|---|---|---|---|---|
0 | Isabelino Gradín | Uruguay | 1916 | 3 | Uruguay |
1 | Ángel Romano | Uruguay | 1917 | 4 | Uruguay |
4 | Julio Libonatti | Argentina | 1921 | 3 | Argentina |
7 | Pedro Petrone | Uruguay | 1924 | 4 | Uruguay |
8 | Manuel Seoane | Argentina | 1925 | 6 | Argentina |
14 | Lolo Fernández | Perú | 1939 | 7 | Perú |
15 | Juan Andrés Marvezzi | Argentina | 1941 | 5 | Argentina |
20 | Jair | Brasil | 1949 | 9 | Brasil |
22 | Rodolfo Micheli | Argentina | 1955 | 8 | Argentina |
31 | Bebeto | Brasil | 1989 | 6 | Brasil |
32 | Gabriel Omar Batistuta | Argentina | 1991 | 6 | Argentina |
37 | Víctor Hugo Aristizábal | Colombia | 2001 | 6 | Colombia |
38 | Adriano | Brasil | 2004 | 7 | Brasil |
39 | Robinho | Brasil | 2007 | 6 | Brasil |
42 | Eduardo Vargas | Chile | 2016 | 6 | Chile |
No es correcta, ya que hay ediciones donde hay más de un goleador de distintas selecciones.
Una solución podría ser:
goleadores_completa[goleadores_completa.apply(lambda x: x["Campeón"] in x["Selección"], axis="columns")]
Jugador | Selección | Edición | Goles | Campeón | |
---|---|---|---|---|---|
0 | Isabelino Gradín | Uruguay | 1916 | 3 | Uruguay |
1 | Ángel Romano | Uruguay | 1917 | 4 | Uruguay |
2 | Arthur FriedenreichNeco | Brasil Brasil | 1919 | 4 | Brasil |
3 | José PérezÁngel Romano | Uruguay Uruguay | 1920 | 3 | Uruguay |
4 | Julio Libonatti | Argentina | 1921 | 3 | Argentina |
6 | Pedro PetroneVicente Aguirre | Uruguay Argentina | 1923 | 3 | Uruguay |
7 | Pedro Petrone | Uruguay | 1924 | 4 | Uruguay |
8 | Manuel Seoane | Argentina | 1925 | 6 | Argentina |
10 | Alfredo CarricaberrySegundo LunaRoberto Figuer... | Argentina Argentina Uruguay Uruguay Uruguay | 1927 | 3 | Argentina |
14 | Lolo Fernández | Perú | 1939 | 7 | Perú |
15 | Juan Andrés Marvezzi | Argentina | 1941 | 5 | Argentina |
17 | Norberto MéndezHeleno de Freitas | Argentina Brasil | 1945 | 6 | Argentina |
20 | Jair | Brasil | 1949 | 9 | Brasil |
22 | Rodolfo Micheli | Argentina | 1955 | 8 | Argentina |
24 | Humberto MaschioJavier Ambrois | Argentina Uruguay | 1957 | 9 | Argentina |
28 | Eugenio MorelJorge Peredo | Paraguay Chile | 1979 | 4 | Paraguay |
29 | Carlos Alberto AguileraRoberto DinamiteJorge B... | Uruguay Brasil Argentina Perú | 1983 | 3 | Uruguay |
31 | Bebeto | Brasil | 1989 | 6 | Brasil |
32 | Gabriel Omar Batistuta | Argentina | 1991 | 6 | Argentina |
36 | RivaldoRonaldo | Brasil Brasil | 1999 | 5 | Brasil |
37 | Víctor Hugo Aristizábal | Colombia | 2001 | 6 | Colombia |
38 | Adriano | Brasil | 2004 | 7 | Brasil |
39 | Robinho | Brasil | 2007 | 6 | Brasil |
41 | Eduardo VargasPaolo Guerrero | Chile Perú | 2015 | 4 | Chile |
42 | Eduardo Vargas | Chile | 2016 | 6 | Chile |
43 | EvertonPaolo Guerrero | Brasil Perú | 2019 | 3 | Brasil |
44 | Lionel MessiLuis Díaz | Argentina Colombia | 2021 | 4 | Argentina |
tabla_h = result[4]
tabla_h
# | Equipo | Títulos | Part. | Puntos | PJ | PG | PE | PP | GF | GC | Dif. | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | Argentina | 15 | 43 | 423 | 202 | 127 | 42 | 33 | 474 | 182 | +292 |
1 | 2 | Uruguay | 15 | 45 | 374 | 206 | 112 | 38 | 56 | 410 | 222 | +188 |
2 | 3 | Brasil | 9 | 37 | 362 | 191 | 108 | 38 | 45 | 430 | 204 | +226 |
3 | 4 | Paraguay | 2 | 38 | 236 | 177 | 64 | 44 | 69 | 264 | 303 | –39 |
4 | 5 | Chile | 2 | 40 | 234 | 188 | 67 | 33 | 88 | 291 | 316 | –25 |
5 | 6 | Perú | 2 | 33 | 213 | 161 | 58 | 39 | 64 | 230 | 255 | –25 |
6 | 7 | Colombia | 1 | 23 | 172 | 124 | 49 | 25 | 50 | 142 | 191 | –49 |
7 | 8 | Bolivia | 1 | 28 | 86 | 119 | 20 | 26 | 73 | 108 | 298 | –190 |
8 | 9 | Ecuador | 0 | 29 | 74 | 126 | 16 | 26 | 84 | 134 | 327 | –193 |
9 | 10 | México | 0 | 10 | 70 | 48 | 19 | 13 | 16 | 66 | 62 | +4 |
10 | 11 | Venezuela | 0 | 19 | 41 | 70 | 8 | 17 | 45 | 52 | 180 | –128 |
11 | 12 | Costa Rica | 0 | 5 | 18 | 17 | 5 | 3 | 9 | 17 | 31 | –14 |
12 | 13 | Estados Unidos | 0 | 4 | 17 | 18 | 5 | 2 | 11 | 18 | 29 | –11 |
13 | 14 | Honduras | 0 | 1 | 10 | 6 | 3 | 1 | 2 | 7 | 5 | +2 |
14 | 15 | Panamá | 0 | 1 | 3 | 3 | 1 | 0 | 2 | 4 | 10 | –6 |
15 | 16 | Japón | 0 | 2 | 3 | 6 | 0 | 3 | 3 | 6 | 15 | –9 |
16 | 17 | Catar | 0 | 1 | 1 | 3 | 0 | 1 | 2 | 2 | 5 | –3 |
17 | 18 | Jamaica | 0 | 2 | 0 | 6 | 0 | 0 | 6 | 0 | 9 | –9 |
18 | 19 | Haití | 0 | 1 | 0 | 3 | 0 | 0 | 3 | 1 | 12 | –11 |
tabla_h.dtypes
# int64 Equipo object Títulos int64 Part. int64 Puntos int64 PJ int64 PG int64 PE int64 PP int64 GF int64 GC int64 Dif. object dtype: object
Vemos que pandas reconoció las columnas cuyos valores son números y los convirtió automáticamente. Por lo tanto, podríamos sumar sus valores sin necesidad de convertir.
Por ejemplo: si queremos saber cuántos torneos hubo:
tabla_h["Títulos"].sum()
47
O la cantidad de goles en todos los torneos:
tabla_h.sum()
# 190 Equipo ArgentinaUruguayBrasilParaguayChilePerúColombi... Títulos 47 Part. 362 Puntos 2337 PJ 1674 PG 662 PE 351 PP 661 GF 2656 GC 2656 Dif. +292+188+226–39–25–25–49–190–193+4–128–14–11+2... dtype: object
¿Qué pasó con la columna Dif.?
¿Cuáles son los países con más diferencia de goles a favor - goles en contra?¶
tabla_h.sort_values("Dif.")
# | Equipo | Títulos | Part. | Puntos | PJ | PG | PE | PP | GF | GC | Dif. | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | Uruguay | 15 | 45 | 374 | 206 | 112 | 38 | 56 | 410 | 222 | +188 |
13 | 14 | Honduras | 0 | 1 | 10 | 6 | 3 | 1 | 2 | 7 | 5 | +2 |
2 | 3 | Brasil | 9 | 37 | 362 | 191 | 108 | 38 | 45 | 430 | 204 | +226 |
0 | 1 | Argentina | 15 | 43 | 423 | 202 | 127 | 42 | 33 | 474 | 182 | +292 |
9 | 10 | México | 0 | 10 | 70 | 48 | 19 | 13 | 16 | 66 | 62 | +4 |
12 | 13 | Estados Unidos | 0 | 4 | 17 | 18 | 5 | 2 | 11 | 18 | 29 | –11 |
18 | 19 | Haití | 0 | 1 | 0 | 3 | 0 | 0 | 3 | 1 | 12 | –11 |
10 | 11 | Venezuela | 0 | 19 | 41 | 70 | 8 | 17 | 45 | 52 | 180 | –128 |
11 | 12 | Costa Rica | 0 | 5 | 18 | 17 | 5 | 3 | 9 | 17 | 31 | –14 |
7 | 8 | Bolivia | 1 | 28 | 86 | 119 | 20 | 26 | 73 | 108 | 298 | –190 |
8 | 9 | Ecuador | 0 | 29 | 74 | 126 | 16 | 26 | 84 | 134 | 327 | –193 |
5 | 6 | Perú | 2 | 33 | 213 | 161 | 58 | 39 | 64 | 230 | 255 | –25 |
4 | 5 | Chile | 2 | 40 | 234 | 188 | 67 | 33 | 88 | 291 | 316 | –25 |
16 | 17 | Catar | 0 | 1 | 1 | 3 | 0 | 1 | 2 | 2 | 5 | –3 |
3 | 4 | Paraguay | 2 | 38 | 236 | 177 | 64 | 44 | 69 | 264 | 303 | –39 |
6 | 7 | Colombia | 1 | 23 | 172 | 124 | 49 | 25 | 50 | 142 | 191 | –49 |
14 | 15 | Panamá | 0 | 1 | 3 | 3 | 1 | 0 | 2 | 4 | 10 | –6 |
17 | 18 | Jamaica | 0 | 2 | 0 | 6 | 0 | 0 | 6 | 0 | 9 | –9 |
15 | 16 | Japón | 0 | 2 | 3 | 6 | 0 | 3 | 3 | 6 | 15 | –9 |
Una posible solución ...¶
tabla_h["Dif_en_num"] = tabla_h["Dif."].apply(lambda x: int(x[1:]) if x[0]=="+" else (-1)*int(x[1:]))
En la clase vimos que había un problema en la conversión a int. Esto no tiene que ver con Python ni pandas sino con una codificación del signo "-" en la Wikipedia. Acá hay una solución alternativa (¡gracias Daniel!).
tabla_h["Dif_correcta"] = tabla_h["Dif."].apply(lambda x: x.replace('–','-'))
tabla_h["Dif_correcta"] = tabla_h["Dif_correcta"].apply(lambda x: int(x))
tabla_h
# | Equipo | Títulos | Part. | Puntos | PJ | PG | PE | PP | GF | GC | Dif. | Dif_en_num | Dif_correcta | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | Argentina | 15 | 43 | 423 | 202 | 127 | 42 | 33 | 474 | 182 | +292 | 292 | 292 |
1 | 2 | Uruguay | 15 | 45 | 374 | 206 | 112 | 38 | 56 | 410 | 222 | +188 | 188 | 188 |
2 | 3 | Brasil | 9 | 37 | 362 | 191 | 108 | 38 | 45 | 430 | 204 | +226 | 226 | 226 |
3 | 4 | Paraguay | 2 | 38 | 236 | 177 | 64 | 44 | 69 | 264 | 303 | –39 | -39 | -39 |
4 | 5 | Chile | 2 | 40 | 234 | 188 | 67 | 33 | 88 | 291 | 316 | –25 | -25 | -25 |
5 | 6 | Perú | 2 | 33 | 213 | 161 | 58 | 39 | 64 | 230 | 255 | –25 | -25 | -25 |
6 | 7 | Colombia | 1 | 23 | 172 | 124 | 49 | 25 | 50 | 142 | 191 | –49 | -49 | -49 |
7 | 8 | Bolivia | 1 | 28 | 86 | 119 | 20 | 26 | 73 | 108 | 298 | –190 | -190 | -190 |
8 | 9 | Ecuador | 0 | 29 | 74 | 126 | 16 | 26 | 84 | 134 | 327 | –193 | -193 | -193 |
9 | 10 | México | 0 | 10 | 70 | 48 | 19 | 13 | 16 | 66 | 62 | +4 | 4 | 4 |
10 | 11 | Venezuela | 0 | 19 | 41 | 70 | 8 | 17 | 45 | 52 | 180 | –128 | -128 | -128 |
11 | 12 | Costa Rica | 0 | 5 | 18 | 17 | 5 | 3 | 9 | 17 | 31 | –14 | -14 | -14 |
12 | 13 | Estados Unidos | 0 | 4 | 17 | 18 | 5 | 2 | 11 | 18 | 29 | –11 | -11 | -11 |
13 | 14 | Honduras | 0 | 1 | 10 | 6 | 3 | 1 | 2 | 7 | 5 | +2 | 2 | 2 |
14 | 15 | Panamá | 0 | 1 | 3 | 3 | 1 | 0 | 2 | 4 | 10 | –6 | -6 | -6 |
15 | 16 | Japón | 0 | 2 | 3 | 6 | 0 | 3 | 3 | 6 | 15 | –9 | -9 | -9 |
16 | 17 | Catar | 0 | 1 | 1 | 3 | 0 | 1 | 2 | 2 | 5 | –3 | -3 | -3 |
17 | 18 | Jamaica | 0 | 2 | 0 | 6 | 0 | 0 | 6 | 0 | 9 | –9 | -9 | -9 |
18 | 19 | Haití | 0 | 1 | 0 | 3 | 0 | 0 | 3 | 1 | 12 | –11 | -11 | -11 |
tabla_h["Dif_en_num"]
0 292 1 188 2 226 3 -39 4 -25 5 -25 6 -49 7 -190 8 -193 9 4 10 -128 11 -14 12 -11 13 2 14 -6 15 -9 16 -3 17 -9 18 -11 Name: Dif_en_num, dtype: int64
tabla_h.sort_values("Dif_en_num", ascending=False)
# | Equipo | Títulos | Part. | Puntos | PJ | PG | PE | PP | GF | GC | Dif. | Dif_en_num | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | Argentina | 15 | 43 | 423 | 202 | 127 | 42 | 33 | 474 | 182 | +292 | 292 |
2 | 3 | Brasil | 9 | 37 | 362 | 191 | 108 | 38 | 45 | 430 | 204 | +226 | 226 |
1 | 2 | Uruguay | 15 | 45 | 374 | 206 | 112 | 38 | 56 | 410 | 222 | +188 | 188 |
9 | 10 | México | 0 | 10 | 70 | 48 | 19 | 13 | 16 | 66 | 62 | +4 | 4 |
13 | 14 | Honduras | 0 | 1 | 10 | 6 | 3 | 1 | 2 | 7 | 5 | +2 | 2 |
16 | 17 | Catar | 0 | 1 | 1 | 3 | 0 | 1 | 2 | 2 | 5 | –3 | -3 |
14 | 15 | Panamá | 0 | 1 | 3 | 3 | 1 | 0 | 2 | 4 | 10 | –6 | -6 |
15 | 16 | Japón | 0 | 2 | 3 | 6 | 0 | 3 | 3 | 6 | 15 | –9 | -9 |
17 | 18 | Jamaica | 0 | 2 | 0 | 6 | 0 | 0 | 6 | 0 | 9 | –9 | -9 |
12 | 13 | Estados Unidos | 0 | 4 | 17 | 18 | 5 | 2 | 11 | 18 | 29 | –11 | -11 |
18 | 19 | Haití | 0 | 1 | 0 | 3 | 0 | 0 | 3 | 1 | 12 | –11 | -11 |
11 | 12 | Costa Rica | 0 | 5 | 18 | 17 | 5 | 3 | 9 | 17 | 31 | –14 | -14 |
4 | 5 | Chile | 2 | 40 | 234 | 188 | 67 | 33 | 88 | 291 | 316 | –25 | -25 |
5 | 6 | Perú | 2 | 33 | 213 | 161 | 58 | 39 | 64 | 230 | 255 | –25 | -25 |
3 | 4 | Paraguay | 2 | 38 | 236 | 177 | 64 | 44 | 69 | 264 | 303 | –39 | -39 |
6 | 7 | Colombia | 1 | 23 | 172 | 124 | 49 | 25 | 50 | 142 | 191 | –49 | -49 |
10 | 11 | Venezuela | 0 | 19 | 41 | 70 | 8 | 17 | 45 | 52 | 180 | –128 | -128 |
7 | 8 | Bolivia | 1 | 28 | 86 | 119 | 20 | 26 | 73 | 108 | 298 | –190 | -190 |
8 | 9 | Ecuador | 0 | 29 | 74 | 126 | 16 | 26 | 84 | 134 | 327 | –193 | -193 |
Un repaso de GeoPandas¶
- Esta librería agrega soporte para manipular datos geoespaciales.
- Las dos estructuras principales extienden dos clases de pandas:
- geopandas.GeoDataFrame, subclase de pandas.DataFrame,
- geopandas.GeoSeries, subclase de pandas.Series,
Estas clases agregan los datos específicos a este tipo de datos, referidos a las geometrías: puntos, polígonos, etc.
- Más info en la documentación oficial
Repasamos el ejemplo ...¶
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
import os.path
import os
dir_datasets = "rampas"
comunas_caba_shp = "comunas.shp"
rampas_relevamiento_2016 = "rampas-de-accesibilidad-relevamiento-2016.csv"
path_datasets = os.path.join(os.getcwd(), dir_datasets)
El gráfico ...¶
comunas = gpd.read_file(os.path.join(path_datasets, comunas_caba_shp))
comunas['coords'] = comunas['geometry'].apply(lambda x: x.representative_point().coords[:])
comunas['coords'] = [coords[0] for coords in comunas['coords']]
comunas['label'] = comunas.apply(lambda x: 'Comuna ' + str(int(x['COMUNAS'])), axis=1)
fig, ax = plt.subplots(figsize = (10,10))
comunas.plot(ax=ax, color='beige', edgecolor='black')
for idx, row in comunas.iterrows():
plt.annotate(text=row['label'], xy=row['coords'], horizontalalignment='center', color='blue')
Agregamos las rampas¶
rampas_2016 = pd.read_csv(os.path.join(path_datasets, rampas_relevamiento_2016), delimiter=';')
from shapely.geometry import Point
geometry = [Point(xy) for xy in zip(rampas_2016["X"], rampas_2016["Y"])]
rampas_2016_gdf = gpd.GeoDataFrame(rampas_2016,
crs='epsg:4326',
geometry=geometry)
rampas_2016_gdf
X | Y | ID | MES | SEMANA | ZONA | CALLE | ALTURA | ESTADO | DOM_NORMA | DOM_GEO | geometry | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | -58.401517 | -34.613463 | 1 | AGOSTO | 1 AL 6 | 2 Y 3 | ALBERTI | 315.0 | FINALIZADO | ALBERTI 315 | 315 ALBERTI | POINT (-58.40152 -34.61346) |
1 | -58.403174 | -34.598833 | 2 | AGOSTO | 1 AL 6 | 2 Y 3 | CORDOBA AV | 2554.0 | FINALIZADO | CORDOBA AV. 2554 | 2554 CORDOBA AV. | POINT (-58.40317 -34.59883) |
2 | -58.394427 | -34.618371 | 3 | AGOSTO | 1 AL 6 | 2 Y 3 | INDEPENDENCIA AV | 1998.0 | FINALIZADO | INDEPENDENCIA AV. 1998 | 1998 INDEPENDENCIA AV. | POINT (-58.39443 -34.61837) |
3 | -58.512667 | -34.609169 | 4 | AGOSTO | 1 AL 6 | 4 | SIMBRON Y MARCOS PAZ | NaN | FINALIZADO | SIMBRON Y PAZ, MARCOS | SIMBRON & PAZ, MARCOS | POINT (-58.51267 -34.60917) |
4 | -58.510953 | -34.609638 | 5 | AGOSTO | 1 AL 6 | 4 | TINOGASTA Y ZURICH | NaN | FINALIZADO | TINOGASTA Y ZURICH | TINOGASTA & ZURICH | POINT (-58.51095 -34.60964) |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2950 | -58.482653 | -34.581977 | 2997 | NOVIEMBRE | 21 AL 26 | 15 | BALLIVIAN | 2896.0 | EN EJECUCIÓN | BALLIVIAN 2896 | 2896 BALLIVIAN | POINT (-58.48265 -34.58198) |
2951 | -58.481805 | -34.581305 | 2998 | NOVIEMBRE | 21 AL 26 | 15 | BALLIVIAN | 2799.0 | EN EJECUCIÓN | BALLIVIAN 2799 | 2799 BALLIVIAN | POINT (-58.48180 -34.58131) |
2952 | -58.482766 | -34.582043 | 2999 | NOVIEMBRE | 21 AL 26 | 15 | BALLIVIAN | 2902.0 | EN EJECUCIÓN | BALLIVIAN 2902 | 2902 BALLIVIAN | POINT (-58.48277 -34.58204) |
2953 | -58.482867 | -34.581925 | 3000 | NOVIEMBRE | 21 AL 26 | 15 | BALLIVIAN | 2901.0 | EN EJECUCIÓN | BALLIVIAN 2901 | 2901 BALLIVIAN | POINT (-58.48287 -34.58193) |
2954 | -58.482791 | -34.581881 | 3001 | NOVIEMBRE | 21 AL 26 | 15 | BALLIVIAN | 2899.0 | EN EJECUCIÓN | BALLIVIAN 2899 | 2899 BALLIVIAN | POINT (-58.48279 -34.58188) |
2955 rows × 12 columns
fig, ax = plt.subplots(figsize = (15,15))
comunas.plot(ax = ax, color='beige', edgecolor='black')
for idx, row in comunas.iterrows():
plt.annotate(text=row['label'], xy=row['coords'], horizontalalignment='center', color='black')
rampas_2016_gdf[rampas_2016_gdf['ESTADO']=='FINALIZADO'].plot(ax=ax, markersize=30, color='blue', marker='o', label='Finalizado')
rampas_2016_gdf[rampas_2016_gdf['ESTADO']=='EN EJECUCIÓN'].plot(ax=ax, markersize=30, color='red', marker='^', label='En Ejecución')
plt.legend(prop={'size': 15})
<matplotlib.legend.Legend at 0x7fb57a3bc3a0>
comunas.explore(style_kwds=dict(color="blue"), tooltip="BARRIOS")