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
133 changes: 113 additions & 20 deletions 02_activities/assignments/assignment_2.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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",
" "
]
},
{
Expand Down Expand Up @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -228,7 +308,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 60,
"metadata": {
"id": "_svDiRkdIwiT"
},
Expand Down Expand Up @@ -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."
]
},
{
Expand Down Expand Up @@ -314,7 +406,8 @@
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"display_name": "python-env",
"language": "python",
"name": "python3"
},
"language_info": {
Expand All @@ -327,7 +420,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
"version": "3.11.14"
}
},
"nbformat": 4,
Expand Down
Loading