indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-7

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-7 [2025/06/05 05:22] upadminindice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-7 [2025/06/06 04:52] (actual) upadmin
Línea 3: Línea 3:
   * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia_de_ejercicios_n_7.docx.pdf |Guía de Ejercicios Nro 7}}   * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia_de_ejercicios_n_7.docx.pdf |Guía de Ejercicios Nro 7}}
  
-<file python Data_Frame_Pandas_-_Guía_de_Ejercicios_Nº_7.py>+  * {{ :indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:data_frame_pandas_y_consignas_-_guia_de_ejercicios_n_7.py |Data Frame Pandas y Consignas - Guía de Ejercicios Nro 7}}
  
-"""Automatically generated by Colab. +===== Resueltos ===== 
-Original file is located at + 
-    https://colab.research.google.com/drive/1onufzB7CnauWQFHuMMrDQxXkevqCGeAj +<file python resueltos_guia_7.py> 
-"""+# Datos y Creacion del Data Frame
  
 import pandas as pd import pandas as pd
 +print(pd.__version__) #version de pandas que se esta usando
  
 peliculas = {'nombre': ['Titanic', 'Kil Bill', 'Matrix', 'El padrino', 'Avatar', peliculas = {'nombre': ['Titanic', 'Kil Bill', 'Matrix', 'El padrino', 'Avatar',
Línea 24: Línea 25:
             'puntaje': [8.6, None, 6.9, 7.5, 9.1, 6.0, None, None, 9.4, 8.0]}             'puntaje': [8.6, None, 6.9, 7.5, 9.1, 6.0, None, None, 9.4, 8.0]}
  
-df = pd.DataFrame(peliculas) +df = pd.DataFrame(peliculas) #crea Data Frame
-df+
  
-df.iloc[3:]+#Algunas Funciones de Pandas 
 +""" 
 +print(df) #Imprime Data Frame 
 +df.info() #da informacion sobre el Data Frame 
 +print(df.describe()) #Algunas medidas como cual es el valor maximo, el minimo, los percentiles, etc 
 +print(df.head(3)) #imprime 3 primeras filas del Data Frame (0;1;2) 
 +print(df.iloc[3:5]) #imprime filas 3 y 4 del Data Frame (se cuenta desde 0 con lo cual estrictamente son la cuarta y quinta fila) 
 +print(df.loc[3:5,["director", "año"]]) #Imprime filas 3, 4 y 5 y las columnas "director" y "año" del Data frame (se cuenta desde 0 con lo cual estrictamente son la cuarta, quinta y la sexta fila) 
 +print(df.loc[df.index[[3, 5]], ["director", "año"]]) #Imprime filas 3 y 5 y las columnas "director" y "año" del Data frame (se cuenta desde 0 con lo cual estrictamente son la cuarta y la sexta fila) 
 +print(df[df["puntaje"]>7.9]) #Imprime el Data Frame filtrando las filas por la condicion que se cumpla en la columna "puntajes" de que el mismo debe ser mayor a 7.9 
 +print(df[df["puntaje"].isnull()]) #Imprime el Data Frame filtrando las filas por la condicion de que en la columna no haya datos 
 +print(df[(df["director"] == "James Cameron") & (df["puntaje"] > 9)]) #Filtra filas segun mas de una condicion en columnas usando and 
 +print(df[(df["director"] == "James Cameron") | (df["puntaje"] > 9)]) #Filtra filas segun mas de una condicion en columnas usando or 
 +print(df[(df["director"] == "James Cameron") & ~(df["puntaje"] > 9)]) #Filtra filas segun mas de una condicion en columnas usando and y negacion 
 +print(df[df["puntaje"].between(6, 7)]) #Filtra filas segun condicion en columna con cota inferior y superior 
 +df.loc[4,"nombre"] = "Se lo que hicieron el verano pasado" #reemplaza la celda de la fila 4 columna nombre 
 +print(df) 
 +print(df["año"].sum()) #Suma (o si es string concatena) toda la columna año 
 +print(df.groupby("director")["puntaje"].mean()) #crea tabla con el promedio de puntaje de cada director 
 +df.loc[10] = ["El silencio de los inocentes", "Jonathan Demme", 1991, "policial", 8.9] #agrega una fila 
 +print(df) 
 +df = df.drop(10) #borra una fila, en este caso la 10 
 +print(df) 
 +print(df["director"].value_counts()) # hace una tabla contando las apariciones de los elementos de una columna 
 +df=df.sort_values(by=["género", "puntaje"], ascending=[False, True]) #ordena la tabla primero por genero (descendiendo) y luego por puntaje(ascendiendo) 
 +print(df) 
 +df["género"]=df["género"].map({"terror":"genero desagradable", "drama":"no me gusta"}) #aplica la funcion map a la columna genero reemplazando las coincidencias y borrando las no coincidencias 
 +print(df) 
 +df["género"]=df["género"].replace("no me gusta","ahora si me gusta") #reemplaza ciertos elementos de una columna por otro que indiquemos 
 +print(df) 
 +"""
  
 +# 1) Mostrar la información del DataFrame con el método info(), ¿Cómo se llaman y qué tipo de dato tiene cada columna? ¿Cuántos elementos nulos hay en cada columna? Interpretar qué información se guarda en esta tabla y para qué puede servir.
 df.info() df.info()
 +print()
 +"""Las columnas son nombre (object), director (object), año (int64), género (object) y puntaje (float64).
 +En la columna puntaje hay 3 nulos. En el resto no hay nulos.
 +Se guarda la cantidad de columnas, el nombre de las columnas, la cantidad de filas, la cantidad de datos no nulos en cada columna y los tipos de objetos que hay en cada columna.
 +"""
  
-df.describe()+# 2Mostrar sólo los nombres de las primeras 3 películas del DataFrame.
  
-# Mostrar la información del DataFrame con el método info(), ¿Cómo se llaman y qué tipo de dato tiene cada columna? ¿Cuántos elementos nulos hay en cada columna? Interpretar qué información se guarda en esta tabla y para qué puede servir.+print(df.loc[0:2,["nombre"]]) 
 +print()
  
-# Mostrar sólo los nombres de las primeras 3 películas del DataFrame.+"""Alternativamente"""
  
-# Mostrar sólo el director y el género de todas las películas.+print(df.head(3)["nombre"]) 
 +print()
  
-# Mostrar las películas que sean de drama+3) Mostrar sólo el director y el género de todas las películas.
  
-# ¿Qué cantidad de películas hay de cada género?+print(df.loc[:,["director","género"]]) 
 +print()
  
-# Mostrar las películas que tengan puntaje entre 6 y 8 y cuyo año de estreno sea anterior a los 2000+4) Mostrar las películas que sean de drama.
  
-# Mostrar las películas que no hayan sido puntuadas (que el puntaje tenga un valor nulo).+print(df[df["género"] == "drama"]) 
 +print()
  
-Calcular el promedio del puntaje de todas las películas.+5) ¿Qué cantidad de películas hay de cada género?
  
-# Ordenar las películas en orden alfabético descendente.+print(df["género"].value_counts()) 
 +print()
  
-# Mostrar las películas más antiguas.+6) Mostrar las películas que tengan puntaje entre 6 y 8 y cuyo año de estreno sea anterior a los 2000.
  
-# Mostrar sólo el nombre y el año de las 3 películas más nuevas.+print(df[(df["puntaje"].between(6, 8)) & (df["año"] < 2000)]) 
 +print()
  
-Agregar una columna que indique si la película fue vista, o no. Una película fue vista cuando tiene puntaje no nulo+7) Mostrar las películas que no hayan sido puntuadas (que el puntaje tenga un valor nulo).
  
 +print(df[df["puntaje"].isnull()])
 +print()
  
-</file>+# 8) Calcular el promedio del puntaje de todas las películas.
  
 +print(df["puntaje"].mean())
 +print()
  
-===== Resueltos =====+# 9) Ordenar las películas en orden alfabético descendente.
  
 +print(df.sort_values(by=["nombre"], ascending=[False]))
 +print()
 +
 +# 10) Mostrar las 3 películas más antiguas.
 +
 +df_ordenada_por_año=df.sort_values(by=["año"], ascending=[True])
 +print(df_ordenada_por_año.head(3))
 +print()
 +
 +# 11) Mostrar sólo el nombre y el año de las 3 películas más nuevas.
 +
 +df_ordenada_por_año_mas_nuevo=df.sort_values(by=["año"], ascending=[False])
 +print(df_ordenada_por_año_mas_nuevo.iloc[:3][["nombre", "año"]])
 +print()
 +
 +# 12) Agregar una columna que indique si la película fue vista, o no. Una película fue vista cuando tiene puntaje no nulo
 +
 +df["fue_vista"] = df["puntaje"].notnull()
 +print(df) 
 +</file>
  • indice/uba/ingenieria/uba-xxi/pensamiento-computacional/guias-y-resueltos/guia-7.1749100959.txt.gz
  • Última modificación: 2025/06/05 05:22
  • por upadmin