diff --git a/02_activities/assignments/assignment_2.ipynb b/02_activities/assignments/assignment_2.ipynb index fd02cc6cc..4b7769057 100644 --- a/02_activities/assignments/assignment_2.ipynb +++ b/02_activities/assignments/assignment_2.ipynb @@ -57,6 +57,15 @@ "\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Module: Python\n", + "#### Assignment: 2\n", + "#### Name: Chun-Yuan Chen" + ] + }, { "cell_type": "markdown", "metadata": { @@ -72,31 +81,192 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import csv # CYC: I imported this module so I can read .csv files later on." + ] + }, + { + "cell_type": "code", + "execution_count": 3, "metadata": { "id": "n0m48JsS-nMC" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0,0,1,3,1,2,4,7,8,3,3,3,10,5,7,4,7,7,12,18,6,13,11,11,7,7,4,6,8,8,4,4,5,7,3,4,2,3,0,0\n", + "\n", + "0,1,2,1,2,1,3,2,2,6,10,11,5,9,4,4,7,16,8,6,18,4,12,5,12,7,11,5,11,3,3,5,4,4,5,5,1,1,0,1\n", + "\n", + "0,1,1,3,3,2,6,2,5,9,5,7,4,5,4,15,5,11,9,10,19,14,12,17,7,12,11,7,4,2,10,5,4,2,2,3,2,2,1,1\n", + "\n", + "0,0,2,0,4,2,2,1,6,7,10,7,9,13,8,8,15,10,10,7,17,4,4,7,6,15,6,4,9,11,3,5,6,3,3,4,2,3,2,1\n", + "\n", + "0,1,1,3,3,1,3,5,2,4,4,7,6,5,3,10,8,10,6,17,9,14,9,7,13,9,12,6,7,7,9,6,3,2,2,4,2,0,1,1\n", + "\n", + "0,0,1,2,2,4,2,1,6,4,7,6,6,9,9,15,4,16,18,12,12,5,18,9,5,3,10,3,12,7,8,4,7,3,5,4,4,3,2,1\n", + "\n", + "0,0,2,2,4,2,2,5,5,8,6,5,11,9,4,13,5,12,10,6,9,17,15,8,9,3,13,7,8,2,8,8,4,2,3,5,4,1,1,1\n", + "\n", + "0,0,1,2,3,1,2,3,5,3,7,8,8,5,10,9,15,11,18,19,20,8,5,13,15,10,6,10,6,7,4,9,3,5,2,5,3,2,2,1\n", + "\n", + "0,0,0,3,1,5,6,5,5,8,2,4,11,12,10,11,9,10,17,11,6,16,12,6,8,14,6,13,10,11,4,6,4,7,6,3,2,1,0,0\n", + "\n", + "0,1,1,2,1,3,5,3,5,8,6,8,12,5,13,6,13,8,16,8,18,15,16,14,12,7,3,8,9,11,2,5,4,5,1,4,1,2,0,0\n", + "\n", + "0,1,0,0,4,3,3,5,5,4,5,8,7,10,13,3,7,13,15,18,8,15,15,16,11,14,12,4,10,10,4,3,4,5,5,3,3,2,2,1\n", + "\n", + "0,1,0,0,3,4,2,7,8,5,2,8,11,5,5,8,14,11,6,11,9,16,18,6,12,5,4,3,5,7,8,3,5,4,5,5,4,0,1,1\n", + "\n", + "0,0,2,1,4,3,6,4,6,7,9,9,3,11,6,12,4,17,13,15,13,12,8,7,4,7,12,9,5,6,5,4,7,3,5,4,2,3,0,1\n", + "\n", + "0,0,0,0,1,3,1,6,6,5,5,6,3,6,13,3,10,13,9,16,15,9,11,4,6,4,11,11,12,3,5,8,7,4,6,4,1,3,0,0\n", + "\n", + "0,1,2,1,1,1,4,1,5,2,3,3,10,7,13,5,7,17,6,9,12,13,10,4,12,4,6,7,6,10,8,2,5,1,3,4,2,0,2,0\n", + "\n", + "0,1,1,0,1,2,4,3,6,4,7,5,5,7,5,10,7,8,18,17,9,8,12,11,11,11,14,6,11,2,10,9,5,6,5,3,4,2,2,0\n", + "\n", + "0,0,0,0,2,3,6,5,7,4,3,2,10,7,9,11,12,5,12,9,13,19,14,17,5,13,8,11,5,10,9,8,7,5,3,1,4,0,2,1\n", + "\n", + "0,0,0,1,2,1,4,3,6,7,4,2,12,6,12,4,14,7,8,14,13,19,6,9,12,6,4,13,6,7,2,3,6,5,4,2,3,0,1,0\n", + "\n", + "0,0,2,1,2,5,4,2,7,8,4,7,11,9,8,11,15,17,11,12,7,12,7,6,7,4,13,5,7,6,6,9,2,1,1,2,2,0,1,0\n", + "\n", + "0,1,2,0,1,4,3,2,2,7,3,3,12,13,11,13,6,5,9,16,9,19,16,11,8,9,14,12,11,9,6,6,6,1,1,2,4,3,1,1\n", + "\n", + "0,1,1,3,1,4,4,1,8,2,2,3,12,12,10,15,13,6,5,5,18,19,9,6,11,12,7,6,3,6,3,2,4,3,1,5,4,2,2,0\n", + "\n", + "0,0,2,3,2,3,2,6,3,8,7,4,6,6,9,5,12,12,8,5,12,10,16,7,14,12,5,4,6,9,8,5,6,6,1,4,3,0,2,0\n", + "\n", + "0,0,0,3,4,5,1,7,7,8,2,5,12,4,10,14,5,5,17,13,16,15,13,6,12,9,10,3,3,7,4,4,8,2,6,5,1,0,1,0\n", + "\n", + "0,1,1,1,1,3,3,2,6,3,9,7,8,8,4,13,7,14,11,15,14,13,5,13,7,14,9,10,5,11,5,3,5,1,1,4,4,1,2,0\n", + "\n", + "0,1,1,1,2,3,5,3,6,3,7,10,3,8,12,4,12,9,15,5,17,16,5,10,10,15,7,5,3,11,5,5,6,1,1,1,1,0,2,1\n", + "\n", + "0,0,2,1,3,3,2,7,4,4,3,8,12,9,12,9,5,16,8,17,7,11,14,7,13,11,7,12,12,7,8,5,7,2,2,4,1,1,1,0\n", + "\n", + "0,0,1,2,4,2,2,3,5,7,10,5,5,12,3,13,4,13,7,15,9,12,18,14,16,12,3,11,3,2,7,4,8,2,2,1,3,0,1,1\n", + "\n", + "0,0,1,1,1,5,1,5,2,2,4,10,4,8,14,6,15,6,12,15,15,13,7,17,4,5,11,4,8,7,9,4,5,3,2,5,4,3,2,1\n", + "\n", + "0,0,2,2,3,4,6,3,7,6,4,5,8,4,7,7,6,11,12,19,20,18,9,5,4,7,14,8,4,3,7,7,8,3,5,4,1,3,1,0\n", + "\n", + "0,0,0,1,4,4,6,3,8,6,4,10,12,3,3,6,8,7,17,16,14,15,17,4,14,13,4,4,12,11,6,9,5,5,2,5,2,1,0,1\n", + "\n", + "0,1,1,0,3,2,4,6,8,6,2,3,11,3,14,14,12,8,8,16,13,7,6,9,15,7,6,4,10,8,10,4,2,6,5,5,2,3,2,1\n", + "\n", + "0,0,2,3,3,4,5,3,6,7,10,5,10,13,14,3,8,10,9,9,19,15,15,6,8,8,11,5,5,7,3,6,6,4,5,2,2,3,0,0\n", + "\n", + "0,1,2,2,2,3,6,6,6,7,6,3,11,12,13,15,15,10,14,11,11,8,6,12,10,5,12,7,7,11,5,8,5,2,5,5,2,0,2,1\n", + "\n", + "0,0,2,1,3,5,6,7,5,8,9,3,12,10,12,4,12,9,13,10,10,6,10,11,4,15,13,7,3,4,2,9,7,2,4,2,1,2,1,1\n", + "\n", + "0,0,1,2,4,1,5,5,2,3,4,8,8,12,5,15,9,17,7,19,14,18,12,17,14,4,13,13,8,11,5,6,6,2,3,5,2,1,1,1\n", + "\n", + "0,0,0,3,1,3,6,4,3,4,8,3,4,8,3,11,5,7,10,5,15,9,16,17,16,3,8,9,8,3,3,9,5,1,6,5,4,2,2,0\n", + "\n", + "0,1,2,2,2,5,5,1,4,6,3,6,5,9,6,7,4,7,16,7,16,13,9,16,12,6,7,9,10,3,6,4,5,4,6,3,4,3,2,1\n", + "\n", + "0,1,1,2,3,1,5,1,2,2,5,7,6,6,5,10,6,7,17,13,15,16,17,14,4,4,10,10,10,11,9,9,5,4,4,2,1,0,1,0\n", + "\n", + "0,1,0,3,2,4,1,1,5,9,10,7,12,10,9,15,12,13,13,6,19,9,10,6,13,5,13,6,7,2,5,5,2,1,1,1,1,3,0,1\n", + "\n", + "0,1,1,3,1,1,5,5,3,7,2,2,3,12,4,6,8,15,16,16,15,4,14,5,13,10,7,10,6,3,2,3,6,3,3,5,4,3,2,1\n", + "\n", + "0,0,0,2,2,1,3,4,5,5,6,5,5,12,13,5,7,5,11,15,18,7,9,10,14,12,11,9,10,3,2,9,6,2,2,5,3,0,0,1\n", + "\n", + "0,0,1,3,3,1,2,1,8,9,2,8,10,3,8,6,10,13,11,17,19,6,4,11,6,12,7,5,5,4,4,8,2,6,6,4,2,2,0,0\n", + "\n", + "0,1,1,3,4,5,2,1,3,7,9,6,10,5,8,15,11,12,15,6,12,16,6,4,14,3,12,9,6,11,5,8,5,5,6,1,2,1,2,0\n", + "\n", + "0,0,1,3,1,4,3,6,7,8,5,7,11,3,6,11,6,10,6,19,18,14,6,10,7,9,8,5,8,3,10,2,5,1,5,4,2,1,0,1\n", + "\n", + "0,1,1,3,3,4,4,6,3,4,9,9,7,6,8,15,12,15,6,11,6,18,5,14,15,12,9,8,3,6,10,6,8,7,2,5,4,3,1,1\n", + "\n", + "0,1,2,2,4,3,1,4,8,9,5,10,10,3,4,6,7,11,16,6,14,9,11,10,10,7,10,8,8,4,5,8,4,4,5,2,4,1,1,0\n", + "\n", + "0,0,2,3,4,5,4,6,2,9,7,4,9,10,8,11,16,12,15,17,19,10,18,13,15,11,8,4,7,11,6,7,6,5,1,3,1,0,0,0\n", + "\n", + "0,1,1,3,1,4,6,2,8,2,10,3,11,9,13,15,5,15,6,10,10,5,14,15,12,7,4,5,11,4,6,9,5,6,1,1,2,1,2,1\n", + "\n", + "0,0,1,3,2,5,1,2,7,6,6,3,12,9,4,14,4,6,12,9,12,7,11,7,16,8,13,6,7,6,10,7,6,3,1,5,4,3,0,0\n", + "\n", + "0,0,1,2,3,4,5,7,5,4,10,5,12,12,5,4,7,9,18,16,16,10,15,15,10,4,3,7,5,9,4,6,2,4,1,4,2,2,2,1\n", + "\n", + "0,1,2,1,1,3,5,3,6,3,10,10,11,10,13,10,13,6,6,14,5,4,5,5,9,4,12,7,7,4,7,9,3,3,6,3,4,1,2,0\n", + "\n", + "0,1,2,2,3,5,2,4,5,6,8,3,5,4,3,15,15,12,16,7,20,15,12,8,9,6,12,5,8,3,8,5,4,1,3,2,1,3,1,0\n", + "\n", + "0,0,0,2,4,4,5,3,3,3,10,4,4,4,14,11,15,13,10,14,11,17,9,11,11,7,10,12,10,10,10,8,7,5,2,2,4,1,2,1\n", + "\n", + "0,0,2,1,1,4,4,7,2,9,4,10,12,7,6,6,11,12,9,15,15,6,6,13,5,12,9,6,4,7,7,6,5,4,1,4,2,2,2,1\n", + "\n", + "0,1,2,1,1,4,5,4,4,5,9,7,10,3,13,13,8,9,17,16,16,15,12,13,5,12,10,9,11,9,4,5,5,2,2,5,1,0,0,1\n", + "\n", + "0,0,1,3,2,3,6,4,5,7,2,4,11,11,3,8,8,16,5,13,16,5,8,8,6,9,10,10,9,3,3,5,3,5,4,5,3,3,0,1\n", + "\n", + "0,1,1,2,2,5,1,7,4,2,5,5,4,6,6,4,16,11,14,16,14,14,8,17,4,14,13,7,6,3,7,7,5,6,3,4,2,2,1,1\n", + "\n", + "0,1,1,1,4,1,6,4,6,3,6,5,6,4,14,13,13,9,12,19,9,10,15,10,9,10,10,7,5,6,8,6,6,4,3,5,2,1,1,1\n", + "\n", + "0,0,0,1,4,5,6,3,8,7,9,10,8,6,5,12,15,5,10,5,8,13,18,17,14,9,13,4,10,11,10,8,8,6,5,5,2,0,2,0\n", + "\n", + "0,0,1,0,3,2,5,4,8,2,9,3,3,10,12,9,14,11,13,8,6,18,11,9,13,11,8,5,5,2,8,5,3,5,4,1,3,1,1,0\n", + "\n" + ] + } + ], "source": [ "all_paths = [\n", - " \"python/05_src/data/assignment_2_data/inflammation_01.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_02.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_03.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_04.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_05.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_06.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_07.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_08.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_09.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_10.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_11.csv\",\n", - " \"python/05_src/data/assignment_2_data/inflammation_12.csv\"\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_01.csv\", # CYC: I added r so these strings will not treat backslashes as escape characters.\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_02.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_03.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_04.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_05.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_06.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_07.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_08.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_09.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_10.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_11.csv\",\n", + " r\"C:\\Users\\cyche\\OneDrive\\Desktop\\python\\inflammation_12.csv\"\n", "]\n", "\n", "with open(all_paths[0], 'r') as f:\n", " # YOUR CODE HERE: Use the readline() or readlines() method to read the .csv file into a variable\n", - " \n", - " # YOUR CODE HERE: Iterate through the variable using a for loop and print each row for inspection" + " all_rows = f.readlines()\n", + "\n", + " # YOUR CODE HERE: Iterate through the variable using a for loop and print each row for inspection\n", + " for indiv_row in all_rows:\n", + " print(indiv_row)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "This file has 60 rows and 40 columns.\n" + ] + } + ], + "source": [ + "# CYC: I added this section of code just to check if it actually loaded correctly in terms of numbers of rows and columns on my end.\n", + "import numpy as np\n", + "data_load = np.loadtxt(all_paths[0], delimiter=',')\n", + "n_rows = data_load.shape[0]\n", + "n_cols = data_load.shape[1]\n", + "print(f\"This file has {n_rows} rows and {n_cols} columns.\")" ] }, { @@ -130,7 +300,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { "id": "82-bk4CBB1w4" }, @@ -145,12 +315,15 @@ " # Implement the specific operation based on the 'operation' argument\n", " if operation == 'mean':\n", " # YOUR CODE HERE: Calculate the mean (average) number of flare-ups for each patient\n", + " summary_values = np.mean(data, axis=ax)\n", "\n", " elif operation == 'max':\n", " # YOUR CODE HERE: Calculate the maximum number of flare-ups experienced by each patient\n", + " summary_values = np.max(data, axis=ax)\n", "\n", " elif operation == 'min':\n", " # YOUR CODE HERE: Calculate the minimum number of flare-ups experienced by each patient\n", + " summary_values = np.min(data, axis=ax)\n", "\n", " else:\n", " # If the operation is not one of the expected values, raise an error\n", @@ -161,11 +334,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { "id": "3TYo0-1SDLrd" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "60\n" + ] + } + ], "source": [ "# Test it out on the data file we read in and make sure the size is what we expect i.e., 60\n", "# Your output for the first file should be 60\n", @@ -173,6 +354,96 @@ "print(len(data_min))" ] }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " id min mean max\n", + "0 1 0.0 5.450 18.0\n", + "1 2 0.0 5.425 18.0\n", + "2 3 0.0 6.100 19.0\n", + "3 4 0.0 5.900 17.0\n", + "4 5 0.0 5.550 17.0\n", + "5 6 0.0 6.225 18.0\n", + "6 7 0.0 5.975 17.0\n", + "7 8 0.0 6.650 20.0\n", + "8 9 0.0 6.625 17.0\n", + "9 10 0.0 6.525 18.0\n", + "10 11 0.0 6.775 18.0\n", + "11 12 0.0 5.800 18.0\n", + "12 13 0.0 6.225 17.0\n", + "13 14 0.0 5.750 16.0\n", + "14 15 0.0 5.225 17.0\n", + "15 16 0.0 6.300 18.0\n", + "16 17 0.0 6.550 19.0\n", + "17 18 0.0 5.700 19.0\n", + "18 19 0.0 5.850 17.0\n", + "19 20 0.0 6.550 19.0\n", + "20 21 0.0 5.775 19.0\n", + "21 22 0.0 5.825 16.0\n", + "22 23 0.0 6.175 17.0\n", + "23 24 0.0 6.100 15.0\n", + "24 25 0.0 5.800 17.0\n", + "25 26 0.0 6.425 17.0\n", + "26 27 0.0 6.050 18.0\n", + "27 28 0.0 6.025 17.0\n", + "28 29 0.0 6.175 20.0\n", + "29 30 0.0 6.550 17.0\n", + "30 31 0.0 6.175 16.0\n", + "31 32 0.0 6.350 19.0\n", + "32 33 0.0 6.725 15.0\n", + "33 34 0.0 6.125 15.0\n", + "34 35 0.0 7.075 19.0\n", + "35 36 0.0 5.725 17.0\n", + "36 37 0.0 5.925 16.0\n", + "37 38 0.0 6.150 17.0\n", + "38 39 0.0 6.075 19.0\n", + "39 40 0.0 5.750 16.0\n", + "40 41 0.0 5.975 18.0\n", + "41 42 0.0 5.725 19.0\n", + "42 43 0.0 6.300 16.0\n", + "43 44 0.0 5.900 19.0\n", + "44 45 0.0 6.750 18.0\n", + "45 46 0.0 5.925 16.0\n", + "46 47 0.0 7.225 19.0\n", + "47 48 0.0 6.150 15.0\n", + "48 49 0.0 5.950 16.0\n", + "49 50 0.0 6.275 18.0\n", + "50 51 0.0 5.700 14.0\n", + "51 52 0.0 6.100 20.0\n", + "52 53 0.0 6.825 17.0\n", + "53 54 0.0 5.975 15.0\n", + "54 55 0.0 6.725 17.0\n", + "55 56 0.0 5.700 16.0\n", + "56 57 0.0 6.250 17.0\n", + "57 58 0.0 6.400 19.0\n", + "58 59 0.0 7.050 18.0\n", + "59 60 0.0 5.900 18.0\n" + ] + } + ], + "source": [ + "# CYC: I added this section of code just to get a quick look at each patient’s descriptive stats.\n", + "import pandas as pd # CYC: Not taught in the module, but a handy tool!\n", + " \n", + "data_mean = patient_summary(all_paths[0], 'mean')\n", + "data_max = patient_summary(all_paths[0], 'max')\n", + "\n", + "summary_table = pd.DataFrame({\n", + " 'id': range(1, len(data_mean)+1), # CYC: I applied +1 so ids start from 1 instead of 0.\n", + " 'min': data_min,\n", + " 'mean': data_mean,\n", + " 'max': data_max\n", + "})\n", + "\n", + "print(summary_table)" + ] + }, { "cell_type": "markdown", "metadata": { @@ -228,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "id": "_svDiRkdIwiT" }, @@ -251,7 +522,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "id": "LEYPM5v4JT0i" }, @@ -261,21 +532,68 @@ "\n", "def detect_problems(file_path):\n", " #YOUR CODE HERE: Use patient_summary() to get the means and check_zeros() to check for zeros in the means\n", - "\n", - " return" + " means = patient_summary(file_path, 'mean')\n", + " return check_zeros(means)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n" + ] + } + ], "source": [ "# Test out your code here\n", "# Your output for the first file should be False\n", "print(detect_problems(all_paths[0]))" ] }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "inflammation_01.csv is False\n", + "inflammation_02.csv is False\n", + "inflammation_03.csv is True\n", + "inflammation_04.csv is False\n", + "inflammation_05.csv is False\n", + "inflammation_06.csv is False\n", + "inflammation_07.csv is False\n", + "inflammation_08.csv is True\n", + "inflammation_09.csv is False\n", + "inflammation_10.csv is False\n", + "inflammation_11.csv is True\n", + "inflammation_12.csv is False\n" + ] + } + ], + "source": [ + "# CYC: I added this section of code just to check all files.\n", + "import os\n", + "\n", + "for i, path in enumerate(all_paths, start=1):\n", + " print(f\"{os.path.basename(path)} is {detect_problems(path)}\") # CYC: Interestingly, it looks like one patient with all 0s shows up in the last row of each of the three identified files." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Wishing a wonderful long weekend to the person reviewing my assignment!" + ] + }, { "cell_type": "markdown", "metadata": { @@ -314,7 +632,8 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3", + "display_name": "dsi_participant", + "language": "python", "name": "python3" }, "language_info": { @@ -327,7 +646,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.9.19" } }, "nbformat": 4,