Assignment 7.1

from assertions import *
from test_cells import *

Use the random package to create your own sample. Complete the following code snippet that creates a list of 15 tuples that consist of a participant number (1-15) and a reaction time between 0.1 and 5.8 (rounded with 2 decimals). Return the list of tuples that contains the ids and the reaction times.

Existing code

from random import Random
number_tuples = 15
random_seed = 10

def assignment_7_1(number_tuples, random_seed):
    random = Random(random_seed)
    sample = []
    for p_id in range(number_tuples):
        participant_id = str(p_id)
        reaction_time = str(round(random.uniform(0.1, 5.8), 2))
        
        # YOUR CODE
        
    return sample

Expected return values (example)

[('0', '2.27'), ('1', '5.34'), ('2', '3.54'), ('3', '4.25'), ('4', '4.34'), ('5', '0.82'), ('6', '4.35'), ('7', '2.74'), ('8', '3.85'), ('9', '1.49'), ('10', '1.29'), ('11', '3.55'), ('12', '0.77'), ('13', '1.24'), ('14', '1.62')]
# Code for assignment 7.1
from random import Random
number_tuples = 15
random_seed = 10

def assignment_7_1(number_tuples, random_seed):
    random = Random(random_seed)
    sample = []
    for p_id in range(number_tuples):
        participant_id = str(p_id)
        reaction_time = str(round(random.uniform(0.1, 5.8), 2))
    # YOUR CODE HERE
    raise NotImplementedError()
    return sample
# Test for assignment 7.1

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_7_1(assignment_7_1)
# Assertion for assignment 7.1

check_assertion(assignment_7_1)

Assignment 7.2

Use pandas to have a look at static/names_age_location.csv. Sort first by age and then by location. Return the sorted dataframe as dictionary using .to_dict()

CSV input

name,age,location
Peter,21,Rotterdam
Alex,45,Rotterdam
Sandra,65,Rotterdam
Eva,76,Utrecht
Adam,31,Utrecht
Fred,90,Utrecht
Klaudia,45,Utrecht
Helena,32,Nijmegen
Anna,33,Nijmegen
Xavier,33,Nijmegen
Yonne,54,Nijmegen
Timo,67,Nijmegen
Joeri,89,Amsterdam
Noralie,10,Amsterdam
Kevin,11,Amsterdam
Ruben,90,Amsterdam
Mick,1,Amsterdam
Tom,23,Groningen
Berta,54,Groningen

Expected order

        name  age   location
16     Mick    1  Amsterdam
13  Noralie   10  Amsterdam
14    Kevin   11  Amsterdam
0     Peter   21  Rotterdam
17      Tom   23  Groningen
4      Adam   31    Utrecht
7    Helena   32   Nijmegen
8      Anna   33   Nijmegen
9    Xavier   33   Nijmegen
1      Alex   45  Rotterdam
6   Klaudia   45    Utrecht
18    Berta   54  Groningen
10    Yonne   54   Nijmegen
2    Sandra   65  Rotterdam
11     Timo   67   Nijmegen
3       Eva   76    Utrecht
12    Joeri   89  Amsterdam
15    Ruben   90  Amsterdam
5      Fred   90    Utrecht

Expected return value

{'name': {16: 'Mick', 13: 'Noralie', 14: 'Kevin', 0: 'Peter', 17: 'Tom', 4: 'Adam', 7: 'Helena', 8: 'Anna', 9: 'Xavier', 1: 'Alex', 6: 'Klaudia', 18: 'Berta', 10: 'Yonne', 2: 'Sandra', 11: 'Timo', 3: 'Eva', 12: 'Joeri', 15: 'Ruben', 5: 'Fred'}, 'age': {16: 1, 13: 10, 14: 11, 0: 21, 17: 23, 4: 31, 7: 32, 8: 33, 9: 33, 1: 45, 6: 45, 18: 54, 10: 54, 2: 65, 11: 67, 3: 76, 12: 89, 15: 90, 5: 90}, 'location': {16: 'Amsterdam', 13: 'Amsterdam', 14: 'Amsterdam', 0: 'Rotterdam', 17: 'Groningen', 4: 'Utrecht', 7: 'Nijmegen', 8: 'Nijmegen', 9: 'Nijmegen', 1: 'Rotterdam', 6: 'Utrecht', 18: 'Groningen', 10: 'Nijmegen', 2: 'Rotterdam', 11: 'Nijmegen', 3: 'Utrecht', 12: 'Amsterdam', 15: 'Amsterdam', 5: 'Utrecht'}}
# Code for assignment 7.2
import pandas

def assignment_7_2():
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 7.2

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_7_2(assignment_7_2)
# Assertion for assignment 7.2

check_assertion(assignment_7_2)

Assignment 7.3

Create a new column for names_age_location using pandas that is True if the person lives in randstad and False if not. Return the boolean values in a list using .to_list(). Hint: Use data["location"].isin(randstad)

Expected input

["Amsterdam", "Delft", "Rotterdam", "Leiden", "Den Haag"]

Expected data frame

name  age   location  randstad
0     Peter   21  Rotterdam      True
1      Alex   45  Rotterdam      True
2    Sandra   65  Rotterdam      True
3       Eva   76    Utrecht     False
4      Adam   31    Utrecht     False
5      Fred   90    Utrecht     False
6   Klaudia   45    Utrecht     False
7    Helena   32   Nijmegen     False
8      Anna   33   Nijmegen     False
9    Xavier   33   Nijmegen     False
10    Yonne   54   Nijmegen     False
11     Timo   67   Nijmegen     False
12    Joeri   89  Amsterdam      True
13  Noralie   10  Amsterdam      True
14    Kevin   11  Amsterdam      True
15    Ruben   90  Amsterdam      True
16     Mick    1  Amsterdam      True
17      Tom   23  Groningen     False
18    Berta   54  Groningen     False

Expected return value

[True, True, True, False, False, False, False, False, False, False, False, False, True, True, True, True, True, False, False]
# Code for assignment 7.3
import pandas

def assignment_7_3(randstad):
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 7.3

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_7_3(assignment_7_3)
# Assertion for assignment 7.3

check_assertion(assignment_7_3)

Assignment 8.1

Use pandas to have a look at static/heights_temp.csv. Return how many people have a fever and how many are normal in a list using to_list().

CSV input

name,height,height_group,temperature,status
Jaimy,174,average,39,fever
Robin,180,average,35,normal
Jentje,189,tall,35,normal
Dominique,185,tall,39,fever
Sam,179,average,37,normal
Bo,188,tall,40,fever
Jamie,174,average,38,fever
Willy,174,average,34,normal
Ali-Indy,172,average,39,fever
Jos,180,average,37,normal
Jos-Jamie,190,tall,38,fever
Marijn,164,average,36,normal
Dani-Ali,175,average,39,fever
Jaimy-Robin,177,average,37,normal
Eliza-Jamie,170,average,37,normal
Senna-Eliza,169,average,41,fever
Senna-Ruth,179,average,41,fever
Bo-Indy,177,average,38,fever
Sam-Eliza,179,average,41,fever
Marijn-Ali,171,average,35,normal
Nicky-Nicky,174,average,39,fever
Dani,183,tall,34,normal
Indy-Indy,188,tall,35,normal
...

Expected return values

 [47, 41]
# Code for assignment 8.1


def assignment_8_1():
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 8.1

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_8_1(assignment_8_1)
# Assertion for assignment 8.1

check_assertion(assignment_8_1)

Assignment 8.2

Use pandas to have a look at static/heights_temp.csv. Group the data by the height_group and return the average height of both groups in a list using to_list().

CSV input

name,height,height_group,temperature,status
Jaimy,174,average,39,fever
Robin,180,average,35,normal
Jentje,189,tall,35,normal
Dominique,185,tall,39,fever
Sam,179,average,37,normal
Bo,188,tall,40,fever
Jamie,174,average,38,fever
Willy,174,average,34,normal
Ali-Indy,172,average,39,fever
Jos,180,average,37,normal
Jos-Jamie,190,tall,38,fever
Marijn,164,average,36,normal
Dani-Ali,175,average,39,fever
Jaimy-Robin,177,average,37,normal
Eliza-Jamie,170,average,37,normal
Senna-Eliza,169,average,41,fever
Senna-Ruth,179,average,41,fever
Bo-Indy,177,average,38,fever
Sam-Eliza,179,average,41,fever
Marijn-Ali,171,average,35,normal
Nicky-Nicky,174,average,39,fever
Dani,183,tall,34,normal
Indy-Indy,188,tall,35,normal
...

Expected return values

[172.29850746268656, 185.0952380952381]
# Code for assignment 8.2
import pandas


def assignment_8_2():
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 8.2

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_8_2(assignment_8_2)
# Assertion for assignment 8.2

check_assertion(assignment_8_2)

Assignment 8.3

Use pandas to have a look at static/heights_temp.csv. Only have a look at participants over 170 and with fever. Return the standard deviation of the temperature of that group.

CSV input

name,height,height_group,temperature,status
Jaimy,174,average,39,fever
Robin,180,average,35,normal
Jentje,189,tall,35,normal
Dominique,185,tall,39,fever
Sam,179,average,37,normal
Bo,188,tall,40,fever
Jamie,174,average,38,fever
Willy,174,average,34,normal
Ali-Indy,172,average,39,fever
Jos,180,average,37,normal
Jos-Jamie,190,tall,38,fever
Marijn,164,average,36,normal
Dani-Ali,175,average,39,fever
Jaimy-Robin,177,average,37,normal
Eliza-Jamie,170,average,37,normal
Senna-Eliza,169,average,41,fever
Senna-Ruth,179,average,41,fever
Bo-Indy,177,average,38,fever
Sam-Eliza,179,average,41,fever
Marijn-Ali,171,average,35,normal
Nicky-Nicky,174,average,39,fever
Dani,183,tall,34,normal
Indy-Indy,188,tall,35,normal
...

Expected return values

0.9371024061116424
# Code for assignment 8.3

def assignment_8_3():
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 8.3

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_8_3(assignment_8_3)
# Assertion for assignment 8.3

check_assertion(assignment_8_3)

Assignment 9.1

Try to understand this code. Change the variable names. Add a docstring and comments for every line. Return the cleaned dictionary.

d = {"hello": ["hey","hi","good morning", "hello"], "bye": ["goodbye", "ciao", "bye"]}

def assignment_9_1(d):
    for e in d:
        if e in d[e]:
            d[e].remove(e)
    return d
# Code for assignment 9.1
def assignment_9_1(d):
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 9.1

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)
test_cell_9_1(assignment_9_1)
# Assertion for assignment 9.1

check_assertion(assignment_9_1)

Assignment 9.2

Try to understand this code. Add a docstring and comments for every line. Return the solution of the riddle.

sentence = "Yesterday you travelled to Okinawa University. Did you see that I was there as well? Do believe me, please! It is true! True!"

def assignment_9_2(s):
    w = ""
    for l in s:
        if l.isupper():
            w += l
    return
# Code for assignment 9.2
def assignment_9_2(s):
    # YOUR CODE HERE
    raise NotImplementedError()
# Test for assignment 9.2

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)

test_cell_9_2(assignment_9_2)
# Assertion for assignment 9.2

check_assertion(assignment_9_2)

Assignment 9.3 (Optional)

A researcher wrote a function to create a random number (based on a specific seed). The number is always part of the normal distribution with the mean x and the standard deviation y.

We tried to reuse this function and used a loop that creates a list of 8 numbers (list_numbers) that are part of the normal distribution (based on the seeds given in the list seeds).

Use the list numbers, to create a dataframe with pandas and return the mean of numbers.

Existing code

from random import Random
import pandas

seeds = [8890, 8891, 8899, 8810, 8850, 7780, 6655, 7879]

def assignment_9_3(seeds):
    def normal(x, y, seed):
        random = Random(seed)
        g = random.gauss(x,y)
        return round(g)

    numbers = []
    for seed in seeds:
        numbers.append(normal(10, 2, seed))

    # YOUR CODE
    
    return mean
# Code for assignment 9.3
def assignment_9_3(seeds):
    # Hint1: Do not forget to name the column when you create a DataFrame (use columns=['NAME'])
    # Hint2: Use float() to convert a numpy float to a python readable float
    def normal(x, y, seed):
        random = Random(seed)
        g = random.gauss(x, y)
        return round(g)

    numbers = []
    for seed in seeds:
        numbers.append(normal(10, 2, seed))
    # YOUR CODE HERE
    raise NotImplementedError()
    return mean
# Test for assignment 9.3

# Press Ctrl-Enter (PC) or Command-Enter (Mac) after changing the function 
# above and pressing Ctrl-Enter (PC) or Command-Enter (Mac)
test_cell_9_3(assignment_9_3)
# Assertion for assignment 9.3

check_assertion(assignment_9_3)
Back to top