{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Ijg7CW_cNe8b" }, "source": [ "## Cómo filtrar datos en Python\n", "\n", "Nombres del equipo:\n", "- Estudiante 1\n", "- Estudiante 2\n", "\n", "\n", "A continuación vas a continuar explorando el conjunto de datos de los Resultados Pruebas Saber Colegios de Girón, en el departamento de Santander.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Qirk8lSfMcz9" }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "m2yyTTL9M183" }, "outputs": [], "source": [ "## Lee los datos y guárdalos en la variable saber\n", "saber =" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "hX3J-vtvOplZ", "outputId": "c63da6b9-8cf1-40ee-ccb6-3ac9d170fe69" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Index(['INSTITUCION', 'SEDE', 'JORNADA', 'NATURALEZA', 'PROMEDIO', 'PERIODO'], dtype='object')\n" ] } ], "source": [ "## Imprime los nombres de las columnas\n", "print()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "uPtp3_73PrYP", "outputId": "0f432a6c-31d7-420c-d030-282070f021d6" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " INSTITUCION SEDE JORNADA \\\n", "0 COLEGIO SAN JUAN DE GIRON PRINCIPAL TARDE \n", "1 INSTITUCION EDUCATIVA COLEGIO NIEVES CORTES P... PRINCIPAL MAÑANA \n", "2 INSTITUCION EDUCATIVA SAN JOSE DE MOTOSO PRINCIPAL MAÑANA \n", "3 COLEGIO INTEGRADO LLANO GRANDE PRINCIPAL UNICA \n", "4 COLEGIO DIANA TURBAY QUINTERO PRINCIPAL UNICA \n", "5 INSTITUCION EDUCATIVA COLEGIO NIEVES CORTES P... PRINCIPAL NOCTURNA \n", "6 COLEGIO LUIS CARLOS GALAN SARMIENTO PRINCIPAL TARDE \n", "7 INSTITUCION EDUCATIVA COLEGIO JUAN CRISTOBAL ... PRINCIPAL MAÑANA \n", "\n", " NATURALEZA PROMEDIO PERIODO \n", "0 OFICIAL 258 2020 \n", "1 OFICIAL 247 2020 \n", "2 OFICIAL 270 2020 \n", "3 OFICIAL 253 2020 \n", "4 OFICIAL 224 2020 \n", "5 OFICIAL 224 2020 \n", "6 OFICIAL 259 2020 \n", "7 OFICIAL 273 2020 \n" ] } ], "source": [ "## Imprime las primeras 8 filas de tu conjunto de datos\n", "print()" ] }, { "cell_type": "markdown", "metadata": { "id": "ZlvQooUJPPCT" }, "source": [ "### Sección 1:\n", "Observa las siguientes celdas de código\n", "- ¿Qué hacen?\n", "\n", "\n", "- ¿Qué se imprimirá en pantalla?\n", "\n", "\n", "- ¿En qué se diferencia de la función que aprendiste en la sesión anterior?\n", "\n", "\n", "Escribe tu respuestas. Luego ejecuta el código y compara con tus predicciones" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "CttreOocO1PT" }, "outputs": [], "source": [ "## Escribe tu predicción, luego ejecuta\n", "print(saber.loc[7, \"PERIODO\"])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "v1fv8Q44QBLu" }, "outputs": [], "source": [ "## Escribe tu predicción, luego ejecuta\n", "print(saber.loc[0:1, \"NATURALEZA\"])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "BIi4BTIpQq6B" }, "outputs": [], "source": [ "## Escribe tu predicción, luego ejecuta y comprueba\n", "print(saber.loc[3, \"NATURALEZA\":\"PERIODO\"])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "V81sJnJCRI6U" }, "outputs": [], "source": [ "## Imprime el nombre de la institución que se encuentra en la fila 2\n" ] }, { "cell_type": "markdown", "metadata": { "id": "fZAb1B-rQyKa" }, "source": [ "¿Qué pasaría si cambias los dos puntos (:) por una coma?\n", "\n", "¿Qué indican los dos puntos (:)?\n", "\n", "¿Qué pasa si modificas los corchetes por paréntesis?\n", "\n", "¿Qué pasa si en lugar de escribir .loc escribes iloc?" ] }, { "cell_type": "markdown", "metadata": { "id": "w0Q4ucT3VDLb" }, "source": [ "La función **.loc ** permite acceder a los elementos de un dataframe utilizando los nombres de sus columnas en lugar de sus índices.\n" ] }, { "cell_type": "markdown", "metadata": { "id": "eB-vvOZkba8b" }, "source": [ "### Sección 2\n", "\n", "Escribe tu predicción, luego ejecuta las celdas\n", "\n", "- ¿Qué almacena la variable columnas_interes\n", "\n", "- ¿Qué función cumplen los dos puntos (:)?" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Ju5xadSyQXOJ" }, "outputs": [], "source": [ "columnas_interes = [\"PROMEDIO\", \"PERIODO\"]\n", "print(saber.loc[:, columnas_interes])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "-pwUYN3AUIK8" }, "outputs": [], "source": [ "# Escribe el código para imprimir únicamente las columnas\n", "# INSTITUCION, JORNADA Y NATURALEZA" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "PqSKZ_a3b5Di" }, "outputs": [], "source": [ "# Escribe el código para imprimir únicamente las últimas cinco filas\n", "# en las columnas PERIODO E INSTITUCIÓN" ] }, { "cell_type": "markdown", "metadata": { "id": "3USc0nnIcJD6" }, "source": [ "### Sección 3:\n", "\n", "En ocasiones no es necesario trabajar con todos los datos, sino que te interesan únicamente algunos datos en específico.\n", "\n", "Observa el siguiente código y agrega comentarios para explicar lo que hace" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "kEbRgiunbVXa", "outputId": "ee1eef1d-ca86-4134-a532-21349cb4c956" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "312.0\n" ] } ], "source": [ "#\n", "filtro_jornada = (saber.loc[:, \"JORNADA\"] == \"COMPLETA\")\n", "#\n", "jornada_completa = saber.loc[filtro_jornada, :]\n", "#\n", "resultado = jornada_completa.loc[:, \"PROMEDIO\"].mean()\n", "#\n", "print(resultado)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "-nEqS4BIctr_" }, "source": [ "Ahora copia, pega y modifica el código para encontrar el promedio obtenido por los colegios de jornada NOCTURNA" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "Bhv3H3y_bvVm" }, "outputs": [], "source": [ "# Escribe tu código" ] }, { "cell_type": "markdown", "metadata": { "id": "yhdIi8hNc9Ke" }, "source": [ "Puedes utilizar los operadores lógicos Y O para escribir filtros más completos.\n", "\n", "Identifica cuáles operador lógico utilizan los siguientes códigos y escribe sus diferencias." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "8IA-LIEEc7cP" }, "outputs": [], "source": [ "filtro_jornada = (saber.loc[:, \"JORNADA\"] == \"MAÑANA\") & (saber.loc[:, \"PERIODO\"] == 2020)\n", "jornada_manana = saber.loc[filtro_jornada, :]\n", "jornada_manana" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "cT0CPbvzdsIO" }, "outputs": [], "source": [ "filtro_jornada = (saber.loc[:, \"JORNADA\"] == \"MAÑANA\") | (saber.loc[:, \"JORNADA\"] == \"TARDE\")\n", "jornada_manana = saber.loc[filtro_jornada, :]\n", "jornada_manana.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "qzy1gYW9c3sG" }, "source": [ "### Ahora tu:\n", "Completa los retos de la sesión anterior, aplicando lo aprendido en esta actividad.\n", "1.\tHallar el puntaje mínimo entre todos los colegios\n", "2.\tHallar el puntaje máximo del 2022\n", "3.\tHallar el máximo puntaje que obtuvieron los colegios de la jornada tarde\n", "4.\tHallar el promedio de los puntajes obtenidos por los colegios No Oficiales\n", "5.\tHallar el promedio de los puntajes obtenidos por los colegios de jornada nocturna\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "GseL8JEQeL2g" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }