" ► institucion : Universidad Nacional de Colombia\n",
" ► hobbie : skate\n"
]
}
],
...
...
@@ -161,6 +179,49 @@
"bycountry(compas,'Colombia')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"usuario: ramosm\n",
" ► nombre : María\n",
" ► apellido : Ramos\n",
" ► pais : Venezuela\n",
" ► residencia : Mérida\n",
" ► edad : 23\n",
" ► especialidad : física\n",
" ► institucion : Universidad de los Andes\n",
" ► hobbie : escribir\n",
"usuario: arturos\n",
" ► nombre : Arturo\n",
" ► apellido : Sanchez\n",
" ► pais : Venezuela\n",
" ► residencia : Ginebra\n",
" ► edad : 34\n",
" ► especialidad : física\n",
" ► institucion : LAPP\n",
" ► hobbie : montar bicicleta\n",
"usuario: pierre_r_pujol\n",
" ► nombre : Pierre\n",
" ► apellido : Pujol\n",
" ► pais : Venezuela\n",
" ► residencia : Toulouse\n",
" ► edad : 52\n",
" ► especialidad : física teórica\n",
" ► institucion : Universidad de Toulouse 3\n",
" ► hobbie : fotografía\n"
]
}
],
"source": [
"bycountry(compas,'Venezuela')"
]
},
{
"cell_type": "markdown",
"metadata": {},
...
...
@@ -170,7 +231,7 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
...
...
@@ -183,16 +244,16 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"22.5"
"27.727272727272727"
]
},
"execution_count": 9,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
...
...
@@ -203,7 +264,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
...
...
@@ -217,7 +278,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 12,
"metadata": {},
"outputs": [
{
...
...
@@ -225,9 +286,13 @@
"output_type": "stream",
"text": [
"Universidad Nacional de Colombia\n",
"Universidad del Valle\n",
"LAPP\n",
"Universidad Nacional Mayor de San Marcos\n",
"Universidad Industrial de Santander\n",
"Universidad de los Andes\n"
"Universidad de Toulouse 3\n",
"Universidad Nacional de Ingeniería\n",
"Universidad de los Andes\n",
"Universidad del Valle\n"
]
}
],
...
...
%% Cell type:markdown id: tags:
# David Ramos - UIS
%% Cell type:markdown id: tags:
## Problema: Amigos congueros
%% Cell type:markdown id: tags:
**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, país de origen, ciudad donde residen, su especialidad científica, nombre del instituto en que estudian/laboran, y un hobbie o afición.**
%% Cell type:markdown id: tags:
## Solución (sin pandas)
## Solución
%% Cell type:markdown id: tags:
Después de recopilar la información, creé un csv con todos los datos llamado *p_info.csv* y lo importé usando numpy.
# lista de diccionarios usando un dic-comprehension dentro de una list-comprehension
```
%% Cell type:markdown id: tags:
Ahora, usando el constructor *dic()* y la función *zip()* se puede crear el diccionario deseado [[1](https://stackoverflow.com/questions/209840/how-do-i-convert-two-lists-into-a-dictionary)].
%% Cell type:code id: tags:
``` python
compas=dict(zip(users,info))
```
%% Cell type:markdown id: tags:
**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.**
%% Cell type:code id: tags:
``` python
defbycountry(dic,country):
# obtengo los usuarios de las personas nacidas en ese pais
► institucion : Universidad Industrial de Santander
► hobbie : dibujar
usuario: vargass
► nombre : Sasiri
► apellido : Vargas
► pais : Colombia
► residencia : Cali
► edad : 20
► especialidad : sistemas de reacción difusión unidimensionales
► institucion : Universidad del Valle
► hobbie : bailar
usuario: navasa
► nombre : Alfonso
► apellido : Navas
► pais : Colombia
► residencia : Bogotá
► edad : 24
► especialidad : física de sistemas complejos
► institucion : Universidad Nacional de Colombia
► hobbie : crossfit
usuario: bullam
► nombre : Miguel
► apellido : Bulla
► pais : Colombia
► residencia : Bogotá
► edad : 25
► especialidad : física
► institucion : Universidad Nacional de Colombia
► hobbie : series
usuario: ladinoj
► nombre : Jose
► apellido : Ladino
► pais : Colombia
► residencia : Bogotá
► edad : 24
► especialidad : mecánica celeste relativista
► institucion : Universidad Nacional de Colombia
► hobbie : skate
%% Cell type:code id: tags:
``` python
bycountry(compas,'Venezuela')
```
%% Output
usuario: ramosm
► nombre : María
► apellido : Ramos
► pais : Venezuela
► residencia : Mérida
► edad : 23
► especialidad : física
► institucion : Universidad de los Andes
► hobbie : escribir
usuario: arturos
► nombre : Arturo
► apellido : Sanchez
► pais : Venezuela
► residencia : Ginebra
► edad : 34
► especialidad : física
► institucion : LAPP
► hobbie : montar bicicleta
usuario: pierre_r_pujol
► nombre : Pierre
► apellido : Pujol
► pais : Venezuela
► residencia : Toulouse
► edad : 52
► especialidad : física teórica
► institucion : Universidad de Toulouse 3
► hobbie : fotografía
%% Cell type:markdown id: tags:
**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).**
%% Cell type:code id: tags:
``` python
defage_average(dic):
# recupero la edad de cada persona (convertida a un entero) usando una list-comprehension
ages=[int(value['edad'])forvalueindic.values()]
# imprimo el promedio
returnsum(ages)/len(ages)
```
%% Cell type:code id: tags:
``` python
age_average(compas)
```
%% Output
22.5
27.727272727272727
%% Cell type:code id: tags:
``` python
definstitutions(dic):
# recupero las instituciones usando una list-comprehension y elimino duplicados convirtiéndola a un conjunto