Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 154 additions & 17 deletions 02_activities/assignments/assignment_2.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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"
]
},
{
Expand Down Expand Up @@ -130,26 +235,29 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 4,
"metadata": {
"id": "82-bk4CBB1w4"
},
"outputs": [],
"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",
Expand All @@ -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"
]
},
{
Expand Down Expand Up @@ -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"
},
Expand All @@ -251,7 +376,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 10,
"metadata": {
"id": "LEYPM5v4JT0i"
},
Expand All @@ -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",
Expand Down Expand Up @@ -314,7 +450,8 @@
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"display_name": "python-env",
"language": "python",
"name": "python3"
},
"language_info": {
Expand All @@ -327,7 +464,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
"version": "3.11.13"
}
},
"nbformat": 4,
Expand Down