Print
import pandas as pd # create the data frame from a list of tuples data = pd.DataFrame( [('Mike',7,10,5.5), ('Lisa', 6.5, 9, 8), ('George', 4, 3, 7), ('Maria', 7, 9.5, 4), ('Frank', 5, 5, 5) ] ) # set column names data.columns = ['Name', 'Assignment 1', 'Assignment 2', 'Assignment 3'] # set row names data.index = range(1,len(data)+1) # show table print(data) # add column with averages data['Average'] = (data['Assignment 1'] + data['Assignment 2'] + data['Assignment 3']) / 3 # part a (all students with a1 score < 7) print(data[ data['Assignment 1'] < 7]) # part b (all students with a1 and a2 score > 6) print(data[ (data['Assignment 1'] > 6) & (data['Assignment 2'] > 6)]) # part c (at least one assignment < 5) print( data[ data[ ['Assignment 1', 'Assignment 2', 'Assignment 3'] ].min(axis = 1) < 5 ] ) # part d (name starts with M, only Name and Average columns) print(data [ data [ 'Name' ].map(lambda x: x.startswith('M')) ] [ ['Name','Average'] ]) # sort by Name print(data.sort_values(by = ['Name']))
If any of these steps is unclear to you, please ask for further explanation on the forums.