Skip to content
Snippets Groups Projects
Commit a742dec0 authored by Christian Solis Calero's avatar Christian Solis Calero
Browse files

Delete ejercicios-clase-02-03-datos.ipynb

parent 6d97c46d
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
## Alumno: Christian Solis Calero.
#### Universidad Nacional Mayor de San Marcos, Lima. Perú
%% Cell type:markdown id: tags:
## Ejercicio 02-03
01.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.
02.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 es
a la vez otro diccionario, con las llaves “nombre”, “apellido”, “país”, “residencia”, “edad”,
“institución”, “hobbie”.
03.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.
04.Busque una forma de calcular, a partir del diccionario, el promedio de edad de
todas las personas en él,
05.Busque una forma de una forma de mostrar todas las instituciones (sin repetición)
%% Cell type:code id: tags:
``` python
! pip install --user tabulate
```
%% Output
Collecting tabulate
Downloading https://files.pythonhosted.org/packages/c4/f4/770ae9385990f5a19a91431163d262182d3203662ea2b5739d0fcfc080f1/tabulate-0.8.7-py3-none-any.whl
Installing collected packages: tabulate
 The script tabulate is installed in '/home/solisc/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed tabulate-0.8.7
%% Cell type:code id: tags:
``` python
import pandas as pd
from tabulate import tabulate
#----------------------------------------------------------------------------------------------------
#Creando diccionario a partir de la información colectada que esta en una rchivo llamado compas.txt
compas = {}
data={}
filename = "compas.txt"
start = "\033[1m"
end = "\033[0;0m"
with open(filename, encoding='utf8', errors='replace') as f:
# file_list = [i.strip() for i in f]
for line in f:
(Username, Nombre, Apellido,Pais,Residencia,Edad,Institucion,Especialidad,Hobbie) = line.split("\t")
compas[Username]= {'Nombre':Nombre,
'Apellido':Apellido,
'Pais':Pais,
'Edad':Edad,
'Institucion':Institucion,
'Especialidad':Especialidad,
'Hobbie':Hobbie}
#print(compas[Username])
#-----------------------------------------------------------------------------
def Read_dictionary(D,I): # función para extraer información de un usuario
res = {key: D[key] for key in D.keys()
& {I}}
return res
I="cristian.velandia"
print(start +"El ususario "+I+" presenta la siguiente información"+end)
res=Read_dictionary(compas,I)
for key, value in res.items():
print(key, '--')
# print(key, ' : ', value)
# Again iterate over the nested dictionary
for p, q in value.items():
print(p, ' : ', q)
#-----------------------------------------------------------------------------
def Read_countries(D,I): # función para extraer información de usuarios de un pais
res1 = [D[Username] for Username in D.keys() if D[Username]['Pais']==I]
return res1
I='Colombia'
print(start +"Los usuarios de "+I+" son"+end)
res1=Read_countries(compas,I)
i=0
for n in res1:
print(res1[i])
i=i+1
print(start +"La misma información tabulada"+end)
df = pd.DataFrame(res1)
#print(tabulate(df, headers='keys', tablefmt='psql'))
print(df.to_markdown())
#-----------------------------------------------------------------------------
def Read_age(D): # función para extraer información de edad de usuarios
res2 = [D[Username]["Edad"] for Username in D.keys()]
return res2
res2=Read_age(compas)
res2=[float(i) for i in res2]
average=sum(res2)/len(res2)
print(start +"La edad promedio de los usuarios registrados es:"+end)
print(average)
#-----------------------------------------------------------------------------
def Read_institutions(D): # función para extraer información de instituciones sin redundancia
res3 = [D[Username]["Institucion"] for Username in D.keys()]
res3 = list(set(res3)) #Se crea un conjunto a partir de una lista(conjuntos no tienen redundancia)
return res3
res3=Read_institutions(compas)
print(start +"Esta es la lista de instituciones de los usuarios"+end)
print(*res3, sep = "\n")
```
%% Output
El ususario cristian.velandia presenta la siguiente información
cristian.velandia --
Nombre : Cristian
Apellido : Velandia
Pais : Colombia
Edad : 27
Institucion : Universidad Nacional de Colombia
Especialidad : Optica
Hobbie : Anime, videojuegos
Los usuarios de Colombia son
{'Nombre': 'Cristian', 'Apellido': 'Velandia', 'Pais': 'Colombia', 'Edad': '27', 'Institucion': 'Universidad Nacional de Colombia', 'Especialidad': 'Optica', 'Hobbie': ' Anime, videojuegos\n'}
{'Nombre': 'Tatiana', 'Apellido': 'Acero', 'Pais': 'Colombia', 'Edad': '22', 'Institucion': 'Universidad Nacional de Colombia', 'Especialidad': 'Mec�nica Celeste Relativista', 'Hobbie': 'varios\n'}
{'Nombre': 'Alfonso', 'Apellido': 'Navas', 'Pais': 'Colombia', 'Edad': '31', 'Institucion': 'Universidad Nacional de Colombia', 'Especialidad': 'sistemas complejos', 'Hobbie': 'el entrenamiento de fuerza y dar paseos en bicicleta\n'}
{'Nombre': 'Sasiri Vargas', 'Apellido': 'Colombia', 'Pais': 'Colombia', 'Edad': '27', 'Institucion': 'Universidad del Valle', 'Especialidad': 'programaci�n y simulaciones', 'Hobbie': 'bailar\n'}
{'Nombre': 'David Ramos', 'Apellido': 'Colombia', 'Pais': 'Colombia', 'Edad': '24', 'Institucion': 'Universidad Industrial de Santander', 'Especialidad': 'Estad�stica y f�sica estad�stica', 'Hobbie': 'Escuchar y tocar m�sica rock.\n'}
{'Nombre': 'David', 'Apellido': 'Hern�ndez', 'Pais': 'Colombia', 'Edad': '29', 'Institucion': 'Universidad Nacional de Colombia', 'Especialidad': 'Campos y part�culas', 'Hobbie': 'varios\n'}
{'Nombre': 'Fabiola', 'Apellido': 'Amazo', 'Pais': 'Colombia', 'Edad': '22', 'Institucion': 'Universidad Nacional de Colombia', 'Especialidad': 'F�sica Nuclear', 'Hobbie': 'Varios'}
La misma información tabulada
| | Nombre | Apellido | Pais | Edad | Institucion | Especialidad | Hobbie |
|---:|:--------------|:-----------|:---------|-------:|:------------------------------------|:---------------------------------|:-----------------------------------------------------|
| 0 | Cristian | Velandia | Colombia | 27 | Universidad Nacional de Colombia | Optica | Anime, videojuegos |
| 1 | Tatiana | Acero | Colombia | 22 | Universidad Nacional de Colombia | Mec�nica Celeste Relativista | varios |
| 2 | Alfonso | Navas | Colombia | 31 | Universidad Nacional de Colombia | sistemas complejos | el entrenamiento de fuerza y dar paseos en bicicleta |
| 3 | Sasiri Vargas | Colombia | Colombia | 27 | Universidad del Valle | programaci�n y simulaciones | bailar |
| 4 | David Ramos | Colombia | Colombia | 24 | Universidad Industrial de Santander | Estad�stica y f�sica estad�stica | Escuchar y tocar m�sica rock. |
| 5 | David | Hern�ndez | Colombia | 29 | Universidad Nacional de Colombia | Campos y part�culas | varios |
| 6 | Fabiola | Amazo | Colombia | 22 | Universidad Nacional de Colombia | F�sica Nuclear | Varios |
La edad promedio de los usuarios registrados es:
26.666666666666668
Esta es la lista de instituciones de los usuarios
Universidad Nacional de Colombia
Universidad Industrial de Santander
Universidad Nacional del Altiplano Puno
Universidad Nacional de Ingenier�a de Lima
Universidad Central de Venezuela
Universidad del Valle
Universidad Nacional MAyor de San marcos
%% 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