Skip to content
Snippets Groups Projects
Commit d28b6a6c authored by Tatiana Acero Cuellar's avatar Tatiana Acero Cuellar
Browse files

Untrack files in .gitignore

parent 7ae0328a
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# Tatiana Acero Cuellar
## Universidad Nacional de Colombia
### Ejercicios semana 2
%% Cell type:markdown id: tags:
# Ejercicio No. 3 - Amigos congueros
* Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte de LaConga, uno del curso de datos y otro de afuera, y consulte su nombre completo, su nombre de usuario en mattermost, edad, pais de origen, ciudad donde residen, su especialidad científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.
* Cree un diccionario llamado “compas”, donde la llave sea el nombre de usuario en mattermost, y si depliego el valor almacenado, por ejemplo en compas[“juan-pineda”], lo que obtengo esa la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”,“institución”, “hobbie”.
* Cree una función que reciba como entrada el diccionario y un país de origen, y retorne las informaciones completas de todas las personas de ese país, tabuladas en una forma fácil de entender. -Busque una forma de calcular, a partir del diccionario, el promedio de edad detodas las personas en él, y una forma de mostrar todas las instituciones (sin repetición)
%% Cell type:markdown id: tags:
No hemos visto pandas, pero soy re fan de la librería
%% Cell type:code id: tags:
``` python
import numpy as np
import pandas as pd
```
%% Cell type:markdown id: tags:
Siglas de las universidades
%% Cell type:code id: tags:
``` python
universidades = {'UNAL': 'Universidad Nacional de Colombia',
'UCV': 'Universidad Central de Venezuela',
'UNMSM': 'Universidad Nacional Mayor de San Marcos',
'LAPP': 'Laboratoire d’Annecy de Physique des Particules',
'univ-tlse3': 'Université Paul Sabatier',
'UIS': 'Universidad Industrial de Santander',
'UV':'Universidad del Valle',
'UNI':'Universidad Nacional de Ingeniería'}
```
%% Cell type:markdown id: tags:
## Crear diccionario 'compas' con la información recopilada
%% Cell type:code id: tags:
``` python
compas = {'acerot':
{'nombre': 'Tatiana',
'apellido': 'Acero Cuellar',
'residencia': 'Colombia',
'edad': '23',
'institución': 'UNAL',
'especialidad':'Mecánica Celeste Relativista',
'hobbie':'Anime'},
'andreatugores':
{'nombre': 'Andrea Carolina',
'apellido': 'Tugores Hernández',
'residencia': 'Venezuela',
'edad': '24',
'institución': 'UCV',
'especialidad':'Física médica',
'hobbie':'Tenis'},
'navasa':
{'nombre': 'Alfonso',
'apellido': 'Navas',
'residencia': 'Colombia',
'edad': '24',
'institución': 'UNAL',
'especialidad':'Física de sistemas complejos, Ecología',
'hobbie':'Crossfit'},
'fernandezn':
{'nombre': 'Nicolás',
'apellido': 'Fernández Cinquepalmi',
'residencia': 'Perú',
'edad': '27',
'institución': 'UNMSM',
'especialidad':'Física nuclear',
'hobbie':'Música'},
'arturos':
{'nombre': 'Arturo',
'apellido': 'Sanchez',
'residencia': 'Suiza',
'edad': '34',
'institución': 'LAPP',
'especialidad':'Física y Computación',
'hobbie':'Bicicleta'},
'pierre_r_pujol':
{'nombre': 'Pierre',
'apellido': 'Pujol',
'residencia': 'Francia',
'edad': '52',
'institución': 'univ-tlse3',
'especialidad':'Física teórica',
'hobbie':'Fotografía'},
'britod':
{'nombre': 'Daniel Arturo',
'apellido': ' Brito Urbina',
'residencia': 'Venezuela',
'edad': '26',
'institución': 'UCV',
'especialidad':'Teorías de Campos',
'hobbie':'Patinetas, Bicicletas, Videojuegos'},
'hernandezj':
{'nombre': 'Juan David',
'apellido': ' Hernández',
'residencia': 'Colombia',
'edad': '24',
'institución': 'UNAL',
'especialidad':'Electrodinámica cuántica',
'hobbie':'Leer, Videojuegos'},
'ordonezs':
{'nombre': 'Sebastian',
'apellido': ' Ordoñez',
'residencia': 'Colombia',
'edad': '22',
'institución': 'UNAL',
'especialidad':'Física de partículas experimentales',
'hobbie':'Leer, hiking'},
'grisalesj':
{'nombre': 'Jennifer',
'apellido': 'Grisales Casadiegos',
'residencia': 'Colombia',
'edad': '27',
'institución': 'UIS',
'especialidad':'Astropartículas, Divulgación científica',
'hobbie':'Comunicar Ciencia, Deporte'},
'ladinoj':
{'nombre': 'Jose Miguel',
'apellido': 'Ladino Méndez',
'residencia': 'Colombia',
'edad': '24',
'institución': 'UNAL',
'especialidad':'Mecánica Celeste Relativista',
'hobbie':'Skate'},
'reyesf':
{'nombre': 'Felipe',
'apellido': 'Reyes Osorio',
'residencia': 'Colombia',
'edad': '22',
'institución': 'UV',
'especialidad':'Materia condensada',
'hobbie':'Gimansio'},
'riveraa':
{'nombre': 'Ariel',
'apellido': 'Rivera',
'residencia': 'Peru',
'edad': '33',
'institución': 'UNI',
'especialidad':'Física núclear',
'hobbie':'Geopolítica, programación'},
'malamboj':
{'nombre': 'Jorge Enrique',
'apellido': 'Malambo Martinez',
'residencia': 'Colombia',
'edad': '39',
'institución': 'UNAL',
'especialidad': 'Física',
'hobbie':'Talla en madera'},
'cristian.velandia':
{'nombre': 'Cristian',
'apellido': 'Velandia',
'residencia': 'Colombia',
'edad': '27',
'institución': 'UNAL',
'especialidad':'Optica',
'hobbie':'Anime, videojuegos'}}
```
%% Cell type:code id: tags:
``` python
len(compas)
```
%% Output
15
%% Cell type:markdown id: tags:
## Crear la función
Función que recibe un diccionario y un país y retorna un Dataframe de las personas que residen en ese pais. Las columnas son las características/información de la persona.
%% Cell type:code id: tags:
``` python
def amigos_congueros(dicci, pais):
'''
Función que recibe un diccionario y un país y retorna un Dataframe de las personas que
residen en ese pais. Las columnas son las características/información de la persona.
'''
# -- inicializar una lista vacia para guardar los datos finales
ha = []
# -- iterar sobre el diccionario
for i in dicci:
# -- usar minúsculas, toca tener cuidado con acentos
if dicci[i]['residencia'].lower() == pais.lower():
# -- gudardar en la lista la informacion de la persona que esta en el pais
ha.append(dicci[i])
# -- si la lista no tiene elementos, no hay compas en ese pais
if len(ha) == 0:
print('No hay compañeros de ese país')
# -- convertir la lista en un dataframe, para que vea ordenado
return pd.DataFrame(ha)
```
%% Cell type:code id: tags:
``` python
# -- compas en venezuela
ej1 = amigos_congueros(compas, 'venezuela')
ej1
```
%% Output
nombre apellido residencia edad institución \
0 Andrea Carolina Tugores Hernández Venezuela 24 UCV
1 Daniel Arturo Brito Urbina Venezuela 26 UCV
especialidad hobbie
0 Física médica Tenis
1 Teorías de Campos Patinetas, Bicicletas, Videojuegos
%% Cell type:code id: tags:
``` python
# -- compas en colombia
ej2 = amigos_congueros(compas, 'colombia')
ej2
```
%% Output
nombre apellido residencia edad institución \
0 Tatiana Acero Cuellar Colombia 23 UNAL
1 Alfonso Navas Colombia 24 UNAL
2 Juan David Hernández Colombia 24 UNAL
3 Sebastian Ordoñez Colombia 22 UNAL
4 Jennifer Grisales Casadiegos Colombia 27 UIS
5 Jose Miguel Ladino Méndez Colombia 24 UNAL
6 Felipe Reyes Osorio Colombia 22 UV
7 Jorge Enrique Malambo Martinez Colombia 39 UNAL
8 Cristian Velandia Colombia 27 UNAL
especialidad hobbie
0 Mecánica Celeste Relativista Anime
1 Física de sistemas complejos, Ecología Crossfit
2 Electrodinámica cuántica Leer, Videojuegos
3 Física de partículas experimentales Leer, hiking
4 Astropartículas, Divulgación científica Comunicar Ciencia, Deporte
5 Mecánica Celeste Relativista Skate
6 Materia condensada Gimansio
7 Física Talla en madera
8 Optica Anime, videojuegos
%% Cell type:code id: tags:
``` python
# -- compas en peru
ej3 = amigos_congueros(compas, 'perú')
ej3
```
%% Output
nombre apellido residencia edad institución especialidad \
0 Nicolás Fernández Cinquepalmi Perú 27 UNMSM Física nuclear
hobbie
0 Música
%% Cell type:code id: tags:
``` python
# -- compas (el profe) en suiza
ej4 = amigos_congueros(compas, 'suiza')
ej4
```
%% Output
nombre apellido residencia edad institución especialidad \
0 Arturo Sanchez Suiza 34 LAPP Física y Computación
hobbie
0 Bicicleta
%% Cell type:code id: tags:
``` python
# -- compas (el profe) en francia
ej4 = amigos_congueros(compas, 'francia')
ej4
```
%% Output
nombre apellido residencia edad institución especialidad hobbie
0 Pierre Pujol Francia 52 univ-tlse3 Física teórica Fotografía
%% Cell type:markdown id: tags:
### A partir del diccionario compas se puede calcular el promedio y las instituciones de esta manera
Se podria hacer mas sencillo desde el dataframe
%% Cell type:code id: tags:
``` python
# -- inicializar la suma en cero
suma = 0
# -- inicializar una lista vacia
insti = []
# -- tomar cada diccionario y extraer el valor de la edad, sumar y promediar por la cantidad de compas
for i in compas:
suma = suma + int(compas[i]['edad'])
# -- guardar cada insitución en la lista
insti.append(compas[i]['institución'])
promedio = suma / len(compas)
print('El promedio de las edades de los compas es: {}'.format(promedio))
print('El promedio de las edades de los compas es: {}'.format(round(promedio)))
```
%% Output
El promedio de las edades de los compas es: 28.214285714285715
El promedio de las edades de los compas es: 28
%% Cell type:code id: tags:
``` python
# -- para determinar las instituciones sin repetir, convertirmos la lista en un conjunto
siglas = set(insti)
siglas
```
%% Output
{'LAPP', 'UCV', 'UIS', 'UNAL', 'UNMSM', 'UV', 'univ-tlse3'}
%% Cell type:code id: tags:
``` python
# -- buscamos el nombre completo de acuerdo a la sigla
insituciones = [(i, universidades[i]) for i in siglas]
print('Las insituciones en las que estan vinculados los compas son: \n {}'.format(insituciones))
```
%% Output
Las insituciones en las que estan vinculados los compas son:
[('UCV', 'Universidad Central de Venezuela'), ('UNMSM', 'Universidad Nacional Mayor de San Marcos'), ('UV', 'Universidad del Valle'), ('UIS', 'Universidad Industrial de Santander'), ('LAPP', 'Laboratoire d’Annecy de Physique des Particules'), ('UNAL', 'Universidad Nacional de Colombia'), ('univ-tlse3', 'Université Paul Sabatier')]
%% Cell type:code id: tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment