diff --git a/02_activities/assignments/assignment_2.ipynb b/02_activities/assignments/assignment_2.ipynb index 36a3e2bb7..55519cf05 100644 --- a/02_activities/assignments/assignment_2.ipynb +++ b/02_activities/assignments/assignment_2.ipynb @@ -72,11 +72,77 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": { "id": "n0m48JsS-nMC" }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['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": [ "all_paths = [\n", " \"../../05_src/data/assignment_2_data/inflammation_01.csv\",\n", @@ -93,10 +159,49 @@ " \"../../05_src/data/assignment_2_data/inflammation_12.csv\"\n", "]\n", "\n", + "import csv\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", + " first = f.readline()\n", " \n", - " # YOUR CODE HERE: Iterate through the variable using a for loop and print each row for inspection" + " # YOUR CODE HERE: Iterate through the variable using a for loop and print each row for inspection\n", + " contents = csv.reader(f)\n", + " for row in contents:\n", + " print(row)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'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'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "first" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "inflammation data csv: each represents a visit with your 60 patients\n", + "60 rows = 60 patients\n", + "columns = visits, number represents the # of flareups that patient had on that day\n", + "\n", + "part 1: can use read.line or read.lines to read the csv file then create a loop to print each row for inspection\n", + "all_paths[0] = corresponds to the all_paths file at index 0 (we only want to inspect the rows for the first csv file)\n", + "\n", + "part 2: create a fxn to provide summary stats for each patient. For each summary stat: we would print 60 values that represent the mean for each of the patients\n" ] }, { @@ -130,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { "id": "82-bk4CBB1w4" }, @@ -138,18 +243,21 @@ "source": [ "import numpy as np\n", "\n", - "def patient_summary(file_path, operation):\n", + "def patient_summary(file_path, operation): #the string is the summary stat\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", - " if operation == 'mean':\n", - " # YOUR CODE HERE: Calculate the mean (average) number of flare-ups for each patient\n", + " if operation == 'mean': #you will output a single array with 60 values\n", + " summary_values = np.mean(data,axis=ax)\n", "\n", + " # YOUR CODE HERE: Calculate the mean (average) number of flare-ups for each patient\n", " elif operation == 'max':\n", + " summary_values = np.max(data,axis=ax)\n", " # YOUR CODE HERE: Calculate the maximum number of flare-ups experienced by each patient\n", "\n", " elif operation == 'min':\n", + " summary_values = np.min(data,axis=ax)\n", " # YOUR CODE HERE: Calculate the minimum number of flare-ups experienced by each patient\n", "\n", " else:\n", @@ -161,16 +269,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "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", "data_min = patient_summary(all_paths[0], 'min')\n", - "print(len(data_min))" + "print(len(data_min))\n", + "\n", + "#looking for length of 60 if you did it correctly" ] }, { @@ -226,9 +344,16 @@ "When using `check_zeros(x)` in conjunction with your `patient_summary()` function in the `detect_problems()` function, you'll be checking whether any patient in your dataset has an average (mean) inflammation score of 0." ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "part 3: we want to flag irregularities in the data. they've given us a helper function that will check for 0s. you provide an array and it will return TRUE = if 0s are found, FALSE = otherwise.\n" + ] + }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": { "id": "_svDiRkdIwiT" }, @@ -251,7 +376,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": { "id": "LEYPM5v4JT0i" }, @@ -260,16 +385,27 @@ "# Define your function `detect_problems` here\n", "\n", "def detect_problems(file_path):\n", + " '''first will find the mean and store in x, then will use check_zeros on mean to find zeros. if TRUE = return TRUE'''\n", + " x = patient_summary(file_path, 'mean')\n", + " answer = check_zeros(x)\n", " #YOUR CODE HERE: Use patient_summary() to get the means and check_zeros() to check for zeros in the means\n", "\n", - " return" + " return answer" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "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", @@ -314,7 +450,8 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3", + "display_name": "python-env", + "language": "python", "name": "python3" }, "language_info": { @@ -327,7 +464,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.13" } }, "nbformat": 4,