diff --git a/02_activities/assignments/assignment_2.ipynb b/02_activities/assignments/assignment_2.ipynb index 1ae6fe242..a81214b6a 100644 --- a/02_activities/assignments/assignment_2.ipynb +++ b/02_activities/assignments/assignment_2.ipynb @@ -72,12 +72,81 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 77, "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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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", + "['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" + ] + } + ], "source": [ + "import csv #Adding this to be able to read the csv file easier\n", + "\n", "all_paths = [\n", " \"../../05_src/data/assignment_2_data/inflammation_01.csv\",\n", " \"../../05_src/data/assignment_2_data/inflammation_02.csv\",\n", @@ -94,9 +163,10 @@ "]\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" + " contents = csv.reader(f)\n", + " for row in contents:\n", + " print(row)\n", + " " ] }, { @@ -139,18 +209,20 @@ "import numpy as np\n", "\n", "def patient_summary(file_path, operation):\n", + " '''patient_summary(str, str) takes file path to a CSV file and an operation and return an array \n", + " with the appropriate operation applied for each row in the file'''\n", + " \n", " data = np.loadtxt(fname=file_path, delimiter=',') # Load the data from the file\n", " ax = 1 # This specifies that the operation should be done for each row (patient)\n", - "\n", - " # Implement the specific operation based on the 'operation' argument\n", + " \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, ax) # Calculating the mean value for each patient\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, ax) # Calculating the maximum number of flare-ups experienced by each patient\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, ax) # Calculating the minimum number of flare-ups experienced by each patient\n", "\n", " else:\n", " # If the operation is not one of the expected values, raise an error\n", @@ -161,11 +233,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "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", @@ -228,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 60, "metadata": { "id": "_svDiRkdIwiT" }, @@ -260,20 +340,32 @@ "# Define your function `detect_problems` here\n", "\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" + " '''detect problems determines if there are any patients with a mean inflammation score of 0 by using patient summary to find the mean values of each participant \n", + " and the check_zeros helper function to see if any of those values are 0. It returns True if there is a patient entry with a mean value of 0 and False otherwise'''\n", + " mean_list = patient_summary(file_path,'mean')\n", + " return check_zeros(mean_list)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "[False, False, True, False, False, False, False, True, False, False, True, 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]))" + "print(detect_problems(all_paths[0]))\n", + "\n", + "print([detect_problems(path) for path in all_paths]) # Adding an additional test to check if there are any files across the entire dataset." ] }, { @@ -314,7 +406,8 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3", + "display_name": "python-env", + "language": "python", "name": "python3" }, "language_info": { @@ -327,7 +420,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.14" } }, "nbformat": 4,