From 47045723a03277f52605bfc4f4844d066298fb5b Mon Sep 17 00:00:00 2001 From: indira-percastigui Date: Wed, 12 Jan 2022 12:20:58 -0600 Subject: [PATCH] Ejercicio comprension de listas --- .../.ipynb_checkpoints/main-checkpoint.ipynb | 279 ++++++++++++++++++ your-code/main.ipynb | 173 +++++++++-- 2 files changed, 424 insertions(+), 28 deletions(-) create mode 100644 your-code/.ipynb_checkpoints/main-checkpoint.ipynb diff --git a/your-code/.ipynb_checkpoints/main-checkpoint.ipynb b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb new file mode 100644 index 0000000..edfd370 --- /dev/null +++ b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb @@ -0,0 +1,279 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# List Comprehensions Lab\n", + "\n", + "Complete the following set of exercises to solidify your knowledge of list comprehensions." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import numpy as np\n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. Use a list comprehension to create and print a list of consecutive integers starting with 1 and ending with 50." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_int = [i for i in range (1,51)]\n", + "\n", + "print(ls_int)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2. Use a list comprehension to create and print a list of even numbers starting with 2 and ending with 200." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_even = [i for i in range (2,201,2)] \n", + "print(ls_even)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3. Use a list comprehension to create and print a list containing all elements of the 10 x 4 Numpy array below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "a = np.array([[0.84062117, 0.48006452, 0.7876326 , 0.77109654],\n", + " [0.44409793, 0.09014516, 0.81835917, 0.87645456],\n", + " [0.7066597 , 0.09610873, 0.41247947, 0.57433389],\n", + " [0.29960807, 0.42315023, 0.34452557, 0.4751035 ],\n", + " [0.17003563, 0.46843998, 0.92796258, 0.69814654],\n", + " [0.41290051, 0.19561071, 0.16284783, 0.97016248],\n", + " [0.71725408, 0.87702738, 0.31244595, 0.76615487],\n", + " [0.20754036, 0.57871812, 0.07214068, 0.40356048],\n", + " [0.12149553, 0.53222417, 0.9976855 , 0.12536346],\n", + " [0.80930099, 0.50962849, 0.94555126, 0.33364763]])\n", + "\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_matriz = [n for vector in a for n in vector]\n", + "\n", + "print(ls_matriz)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4. Add a condition to the list comprehension above so that only values greater than or equal to 0.5 are printed." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_matriz = [n for vector in a for n in vector if n>=0.5]\n", + "print(ls_matriz)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5. Use a list comprehension to create and print a list containing all elements of the 5 x 2 x 3 Numpy array below." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "b = np.array([[[0.55867166, 0.06210792, 0.08147297],\n", + " [0.82579068, 0.91512478, 0.06833034]],\n", + "\n", + " [[0.05440634, 0.65857693, 0.30296619],\n", + " [0.06769833, 0.96031863, 0.51293743]],\n", + "\n", + " [[0.09143215, 0.71893382, 0.45850679],\n", + " [0.58256464, 0.59005654, 0.56266457]],\n", + "\n", + " [[0.71600294, 0.87392666, 0.11434044],\n", + " [0.8694668 , 0.65669313, 0.10708681]],\n", + "\n", + " [[0.07529684, 0.46470767, 0.47984544],\n", + " [0.65368638, 0.14901286, 0.23760688]]])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_matriz2 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector]\n", + "\n", + "print (ls_matriz2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 5. Add a condition to the list comprehension above so that the last value in each subarray is printed, but only if it is less than or equal to 0.5." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "ls_matriz3 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector if vector[-1]==n and n<=0.5] #Ultimo elemento sobre el vector\n", + "\n", + "print (ls_matriz3)\n", + "\n", + "ls_matriz4 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector if matriz[-1][-1]==n and n<=0.5] #Ultimo elemento sobre la matriz \n", + "\n", + "print (ls_matriz4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 6. Use a list comprehension to select and print the names of all CSV files in the */data* directory." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "files = r\"C:\\Users\\indir\\Documents\\carpeta_Bootcamp\\lab-list-comprehension\\data\"\n", + "\n", + "file_list = [f for f in os.listdir(files) if f.endswith(\".csv\")]\n", + "\n", + "print(file_list)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 7. Use a list comprehension and the Pandas `read_csv` and `concat` methods to read all CSV files in the */data* directory and combine them into a single data frame. Display the top 10 rows of the resulting data frame." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 8. Use a list comprehension to select and print the column numbers for columns from the data set whose median is less than 0.48." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 9. Use a list comprehension to add a new column (20) to the data frame whose values are the values in column 19 minus 0.1. Display the top 10 rows of the resulting data frame." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 10. Use a list comprehension to extract and print all values from the data set that are between 0.7 and 0.75." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb index c5931c4..16ed340 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -29,10 +29,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50]\n" + ] + } + ], + "source": [ + "ls_int = [i for i in range (1,51)]\n", + "\n", + "print(ls_int)" + ] }, { "cell_type": "markdown", @@ -43,10 +55,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]\n" + ] + } + ], + "source": [ + "ls_even = [i for i in range (2,201,2)] \n", + "print(ls_even)" + ] }, { "cell_type": "markdown", @@ -57,9 +80,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.84062117, 0.48006452, 0.7876326 , 0.77109654],\n", + " [0.44409793, 0.09014516, 0.81835917, 0.87645456],\n", + " [0.7066597 , 0.09610873, 0.41247947, 0.57433389],\n", + " [0.29960807, 0.42315023, 0.34452557, 0.4751035 ],\n", + " [0.17003563, 0.46843998, 0.92796258, 0.69814654],\n", + " [0.41290051, 0.19561071, 0.16284783, 0.97016248],\n", + " [0.71725408, 0.87702738, 0.31244595, 0.76615487],\n", + " [0.20754036, 0.57871812, 0.07214068, 0.40356048],\n", + " [0.12149553, 0.53222417, 0.9976855 , 0.12536346],\n", + " [0.80930099, 0.50962849, 0.94555126, 0.33364763]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "a = np.array([[0.84062117, 0.48006452, 0.7876326 , 0.77109654],\n", " [0.44409793, 0.09014516, 0.81835917, 0.87645456],\n", @@ -70,15 +113,29 @@ " [0.71725408, 0.87702738, 0.31244595, 0.76615487],\n", " [0.20754036, 0.57871812, 0.07214068, 0.40356048],\n", " [0.12149553, 0.53222417, 0.9976855 , 0.12536346],\n", - " [0.80930099, 0.50962849, 0.94555126, 0.33364763]])" + " [0.80930099, 0.50962849, 0.94555126, 0.33364763]])\n", + "\n", + "a" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.84062117, 0.48006452, 0.7876326, 0.77109654, 0.44409793, 0.09014516, 0.81835917, 0.87645456, 0.7066597, 0.09610873, 0.41247947, 0.57433389, 0.29960807, 0.42315023, 0.34452557, 0.4751035, 0.17003563, 0.46843998, 0.92796258, 0.69814654, 0.41290051, 0.19561071, 0.16284783, 0.97016248, 0.71725408, 0.87702738, 0.31244595, 0.76615487, 0.20754036, 0.57871812, 0.07214068, 0.40356048, 0.12149553, 0.53222417, 0.9976855, 0.12536346, 0.80930099, 0.50962849, 0.94555126, 0.33364763]\n" + ] + } + ], + "source": [ + "ls_matriz = [n for vector in a for n in vector]\n", + "\n", + "print(ls_matriz)" + ] }, { "cell_type": "markdown", @@ -89,10 +146,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.84062117, 0.7876326, 0.77109654, 0.81835917, 0.87645456, 0.7066597, 0.57433389, 0.92796258, 0.69814654, 0.97016248, 0.71725408, 0.87702738, 0.76615487, 0.57871812, 0.53222417, 0.9976855, 0.80930099, 0.50962849, 0.94555126]\n" + ] + } + ], + "source": [ + "ls_matriz = [n for vector in a for n in vector if n>=0.5]\n", + "print(ls_matriz)" + ] }, { "cell_type": "markdown", @@ -103,7 +171,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -125,10 +193,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.55867166, 0.06210792, 0.08147297, 0.82579068, 0.91512478, 0.06833034, 0.05440634, 0.65857693, 0.30296619, 0.06769833, 0.96031863, 0.51293743, 0.09143215, 0.71893382, 0.45850679, 0.58256464, 0.59005654, 0.56266457, 0.71600294, 0.87392666, 0.11434044, 0.8694668, 0.65669313, 0.10708681, 0.07529684, 0.46470767, 0.47984544, 0.65368638, 0.14901286, 0.23760688]\n" + ] + } + ], + "source": [ + "ls_matriz2 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector]\n", + "\n", + "print (ls_matriz2)" + ] }, { "cell_type": "markdown", @@ -139,10 +221,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.08147297, 0.06833034, 0.30296619, 0.45850679, 0.11434044, 0.10708681, 0.47984544, 0.23760688]\n", + "[0.06833034, 0.10708681, 0.23760688]\n" + ] + } + ], + "source": [ + "ls_matriz3 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector if vector[-1]==n and n<=0.5] #Ultimo elemento sobre el vector\n", + "\n", + "print (ls_matriz3)\n", + "\n", + "ls_matriz4 = [n for matriz in b \n", + " for vector in matriz \n", + " for n in vector if matriz[-1][-1]==n and n<=0.5] #Ultimo elemento sobre la matriz \n", + "\n", + "print (ls_matriz4)" + ] }, { "cell_type": "markdown", @@ -153,10 +256,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['sample_file_0.csv', 'sample_file_1.csv', 'sample_file_2.csv', 'sample_file_3.csv', 'sample_file_4.csv', 'sample_file_5.csv', 'sample_file_6.csv', 'sample_file_7.csv', 'sample_file_8.csv', 'sample_file_9.csv']\n" + ] + } + ], + "source": [ + "files = r\"C:\\Users\\indir\\Documents\\carpeta_Bootcamp\\lab-list-comprehension\\data\"\n", + "\n", + "file_list = [f for f in os.listdir(files) if f.endswith(\".csv\")]\n", + "\n", + "print(file_list)\n" + ] }, { "cell_type": "markdown", @@ -217,7 +334,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -231,7 +348,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.0" + "version": "3.10.1" } }, "nbformat": 4,