Está en la página 1de 5

Ejercicio 1

Crea una función llamada ejercicio1, que recibe la ruta donde se encuentra un dataset y
devuelve una DataFrame con los datos que hay en el dataset. Para comprobar esta función
utiliza el dataset titanic.csv que se incluye en esta actividad.
In [2]:

import numpy as np
import pandas as pd

def ejercicio1(ruta):
return pd.read_csv(ruta)

Out[2]:

Passenge Surviv Pcla Ag Sib Par Cab Embar


Name Sex Ticket Fare
rId ed ss e Sp ch in ked

Braund,
Mr. 22. A/5 7.250
0 1 0 3 male 1 0 NaN S
Owen 0 21171 0
Harris

Cuming
s, Mrs.
John
Bradley fema 38. PC 71.28
1 2 1 1 1 0 C85 C
(Floren le 0 17599 33
ce
Briggs
Th...

Heikkin STON/
en, fema 26. O2. 7.925
2 3 1 3 0 0 NaN S
Miss. le 0 310128 0
Laina 2

Futrelle
, Mrs.
Jacques
fema 35. 53.10 C12
3 4 1 1 Heath 1 0 113803 S
le 0 00 3
(Lily
May
Peel)
Passenge Surviv Pcla Ag Sib Par Cab Embar
Name Sex Ticket Fare
rId ed ss e Sp ch in ked

Allen,
Mr. 35. 8.050
4 5 0 3 male 0 0 373450 NaN S
William 0 0
Henry

... ... ... ... ... ... ... ... ... ... ... ... ...

Montvil
88 27. 13.00
887 0 2 a, Rev. male 0 0 211536 NaN S
6 0 00
Juozas

Graham
88 , Miss. fema 19. 30.00
888 1 1 0 0 112053 B42 S
7 Margar le 0 00
et Edith

Johnsto
n, Miss.
88 Catheri fema Na W./C. 23.45
889 0 3 1 2 NaN S
8 ne le N 6607 00
Helen
"Carrie"

Behr,
88 Mr. 26. 30.00 C14
890 1 1 male 0 0 111369 C
9 Karl 0 00 8
Howell

Dooley,
89 32. 7.750
891 0 3 Mr. male 0 0 370376 NaN Q
0 0 0
Patrick

891 rows × 12 columns

Ejercicio 2
Crea otra función llamada ejercicio2. Esta función recibe un único argumento que es un
dataframe. En concreto debe recibir el dataframe que se ha obtenido de leer el
dataset titanic.csv. Esta función devolverá otro dataset que incluya únicamente a los
pasajeros menores de 35 años y que viajaban en 3ª clase.
In [7]:
def ejercicio2(dataFrame):
validacion = dataFrame.apply( lambda item: item['Age'] < 35 and item['Pclass'] == 3, axis=1 )
return dataFrame[validacion]

Out[7]:

Passenge Surviv Pcla Ag Sib Par Cab Embar


Name Sex Ticket Fare
rId ed ss e Sp ch in ked

Braund,
Mr. 22. A/5 7.250
0 1 0 3 male 1 0 NaN S
Owen 0 21171 0
Harris

Heikkin
STON/
en, fema 26. 7.925
2 3 1 3 0 0 O2. NaN S
Miss. le 0 0
3101282
Laina

Palsson,
Master. 21.07
7 8 0 3 male 2.0 3 1 349909 NaN S
Gosta 50
Leonard

Johnson
, Mrs.
Oscar
W
fema 27. 11.13
8 9 1 3 (Elisabe 0 2 347742 NaN S
le 0 33
th
Vilhelm
ina
Berg)

Sandstr
om,
fema 16.70
10 11 1 3 Miss. 4.0 1 1 PP 9549 G6 S
le 00
Margue
rite Rut

... ... ... ... ... ... ... ... ... ... ... ... ...

87 878 0 3 Petroff, male 19. 0 0 349212 7.895 NaN S


Passenge Surviv Pcla Ag Sib Par Cab Embar
Name Sex Ticket Fare
rId ed ss e Sp ch in ked

Mr.
7 0 8
Nedelio

Markun
88 33. 7.895
882 0 3 , Mr. male 0 0 349257 NaN S
1 0 8
Johann

Dahlber
88 g, Miss. fema 22. 10.51
883 0 3 0 0 7552 NaN S
2 Gerda le 0 67
Ulrika

Sutehall
SOTON/
88 , Mr. 25. 7.050
885 0 3 male 0 0 OQ NaN S
4 Henry 0 0
392076
Jr

Dooley,
89 32. 7.750
891 0 3 Mr. male 0 0 370376 NaN Q
0 0 0
Patrick

286 rows × 12 columns

Ejercicio 3
Crea una función llamada ejercicio3, que recibiendo como argumento el dataframe del
dataset titanic.csv, calcule el porcentaje de persona que sobrevieron. Redondee el
resultado al segundo decimal.
In [37]:

def ejercicio3(dataFrame):
porcentaje = dataFrame.apply( lambda item: item['Survived'] == 1, axis=1 )
totales = dataFrame[porcentaje]['PassengerId'].count() * 100 / porcentaje.count()
return round(totales, 2)

Out[37]:
38.38

Ejercicio 4
Implementa una función llamada ejercicio4 que recibiendo el dataframe con los datos del
Titanic, devuelva en una tupla el porcentaje de hombres y mujeres que viajaban en el Titanic,
redondeados al segundo decimal.
In [47]:

def ejercicio4(dataFrame):
porcentaje = dataFrame.apply( lambda item: item['PassengerId'] != 1, axis=1 )
hombres = dataFrame.apply( lambda item: item['Sex'] == 'male', axis=1 )
mujeres = dataFrame.apply( lambda item: item['Sex'] == 'female', axis=1 )

totalHombres = dataFrame[hombres]['PassengerId'].count() * 100 / porcentaje.count()


totalMujeres = dataFrame[mujeres]['PassengerId'].count() * 100 / porcentaje.count()

return ( round(totalHombres, 2), round(totalMujeres, 2))

Out[47]:
(64.76, 35.24)

Ejercicio 5
Implementa una función llamada ejercicio5 que recibiendo el dataframe con los datos del
Titanic, devuelva en una lista el número de pasajeros que viajaban en 1ª, 2ª y 3ª clase.
In [45]:

def ejercicio5(dataFrame):
porcentaje = dataFrame.apply( lambda item: item['PassengerId'] != 1, axis=1 )
primerClase = dataFrame.apply( lambda item: item['Pclass'] == 1, axis=1 )
segundaClase = dataFrame.apply( lambda item: item['Pclass'] == 2, axis=1 )
terceraClase = dataFrame.apply( lambda item: item['Pclass'] == 3, axis=1 )

return [dataFrame[primerClase]['PassengerId'].count(), dataFrame[segundaClase]['PassengerId'].count(),


dataFrame[terceraClase]['PassengerId'].count()]

También podría gustarte