Entre en contacto con 10 estudiantes del curso de datos y 2 profesores o personal de soporte de LA-CoNGA, 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”.
print('Ingrese el nombre del usuario que le gustaría conocer')
Ingrese el nombre del usuario que le gustaría conocer
nombre = input()
teofilo
El diccionario se encuentra en un módulo aparte al igual la función que lee el usuario de Mattermost y entrega la información
from compas import usuario, diccionario
Para el valor de entrada:
usuario(nombre)
{'Nombres': 'Teófilo', 'Apellidos': 'Vargas Auccalla', 'Edad': 54, 'País': 'Perú', 'Residencia': 'Lima', 'Especialidad': 'cosmología', 'Institución': 'Universidad Nacional Mayor de San Marcos', 'Hobbies': 'Wing Chun Kuen'}
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.
La mejor manera de trabajar con datos con análisis y manipulación de datos en Python es con Pandas
import pandas as pd
df = pd.DataFrame(diccionario()) # genera un dataframe a partir del diccionario
df = df.transpose() # la transpuesta de la tabla es más legible
df.head(12) # Muestra las 12 filas
Nombres | Apellidos | Edad | País | Residencia | Especialidad | Institución | Hobbies | |
---|---|---|---|---|---|---|---|---|
sadeddins | Siria | Saddedin | 30 | Venezuela | Colombia | data science | Universidad Simon Bolivar | ciencia de datos |
malamboj | Jorge Enrique | Malambo Martínez | 39 | Colombia | Bogotá DC | modelaje y simulación de materiales | Universidad Nacional de Colombia | talla en madera y ecoturismo |
bermudezj | Jesus David | Bermudez Sanchez | 25 | Colombia | Bogotá DC | estado sólido | Universidad Nacional de Colombia | senderismo y bicicleta |
andreatugores | Andrea Carolina | Tugores Hernández | 24 | Venezuela | Caracas | física médica | Universidad Central de Venezuela | tennis |
fernandezn | Nicolás | Fernández Cinquepalmi | 24 | Argentina | Perú | ciencia de materiales | Universidad Nacional Mayor de San Marcos | tocar el piano |
grisalej | Jennifer | Grisales Casadiegos | 27 | Colombia | Bucaramanga | astroparticulas | Universidad Industrial de Santander | rugby y yoga |
mamaniy | Yhony | Mamani Arce | 26 | Perú | Lima | física del estado sólido | Universidad Nacional Mayor de San Marcos | correr |
acerot | Tatiana | Acero Cuellar | 23 | Colombia | Bogotá DC | mecánica celeste | Universidad Nacional de Colombia | ver anime, cocinar y senderismo |
cristian.velandia | Cristian | Velandia | 27 | Colombia | óptica | Universidad Nacional de Colombia | ver anime y los videojuegos | |
carrilloj | Juan Guillermo | arrillo Reyes | 25 | Colombia | Bogotá DC | astronomía | Universidad Nacional de Colombia | basket y videojuegos |
teofilo | Teófilo | Vargas Auccalla | 54 | Perú | Lima | cosmología | Universidad Nacional Mayor de San Marcos | Wing Chun Kuen |
juan-pineda | Juan Carlos | Basto Pineda | 37 | Colombia | Bucaramanga | astronomía | Universidad Industrial de Santander | dibujar y caminatas |
def agrupa(datos,pais):
"""
Agrupa por paises
"""
return datos[datos['País']==pais]
Por ejemplo, los congueros de Venezuela
agrupa(df,'Venezuela')
Nombres | Apellidos | Edad | País | Residencia | Especialidad | Institución | Hobbies | |
---|---|---|---|---|---|---|---|---|
sadeddins | Siria | Saddedin | 30 | Venezuela | Colombia | data science | Universidad Simon Bolivar | ciencia de datos |
andreatugores | Andrea Carolina | Tugores Hernández | 24 | Venezuela | Caracas | física médica | Universidad Central de Venezuela | tennis |
Los compas de Perú
agrupa(df,'Perú')
Nombres | Apellidos | Edad | País | Residencia | Especialidad | Institución | Hobbies | |
---|---|---|---|---|---|---|---|---|
mamaniy | Yhony | Mamani Arce | 26 | Perú | Lima | física del estado sólido | Universidad Nacional Mayor de San Marcos | correr |
teofilo | Teófilo | Vargas Auccalla | 54 | Perú | Lima | cosmología | Universidad Nacional Mayor de San Marcos | Wing Chun Kuen |
Los congueros de Colombia
colochos = agrupa(df,'Colombia')
colochos
Nombres | Apellidos | Edad | País | Residencia | Especialidad | Institución | Hobbies | |
---|---|---|---|---|---|---|---|---|
malamboj | Jorge Enrique | Malambo Martínez | 39 | Colombia | Bogotá DC | modelaje y simulación de materiales | Universidad Nacional de Colombia | talla en madera y ecoturismo |
bermudezj | Jesus David | Bermudez Sanchez | 25 | Colombia | Bogotá DC | estado sólido | Universidad Nacional de Colombia | senderismo y bicicleta |
grisalej | Jennifer | Grisales Casadiegos | 27 | Colombia | Bucaramanga | astroparticulas | Universidad Industrial de Santander | rugby y yoga |
acerot | Tatiana | Acero Cuellar | 23 | Colombia | Bogotá DC | mecánica celeste | Universidad Nacional de Colombia | ver anime, cocinar y senderismo |
cristian.velandia | Cristian | Velandia | 27 | Colombia | óptica | Universidad Nacional de Colombia | ver anime y los videojuegos | |
carrilloj | Juan Guillermo | arrillo Reyes | 25 | Colombia | Bogotá DC | astronomía | Universidad Nacional de Colombia | basket y videojuegos |
juan-pineda | Juan Carlos | Basto Pineda | 37 | Colombia | Bucaramanga | astronomía | Universidad Industrial de Santander | dibujar y caminatas |
Busque una forma de calcular, a partir del diccionario, el promedio de edad de todas las personas en él, y una forma de mostrar todas las instituciones (sin repetición).
Función que da el promedio de las edad de un grupo
def promedio(grupo):
print('El promedio de edades es',grupo['Edad'].mean(),'años')
Ya que los colombianos son mayoría, podemos calculas el promedio de edades:
promedio(colochos)
El promedio de edades es 29.0 años
De igual manera, esta función entrega las instituciones de las que son parte los compas colombianos
def instituciones(datos):
insti = (datos['Institución'].unique())
print('Las intituciones son:')
for i in range(len(insti)):
print(insti[i])
instituciones(agrupa(df,'Colombia'))
Las intituciones son: Universidad Nacional de Colombia Universidad Industrial de Santander