In [40]:
import csv
from collections import defaultdict
quizzes = defaultdict(list)
difficulty = {}
with open('mxit_app_data/scores.csv') as file:
data = csv.reader(file)
for row in data:
if row[0] == 'id':
continue
difficulty[row[2]] = row[5], row[4]
with open('mxit_app_data/quiz.csv') as file:
data = csv.reader(file)
for row in data:
if row[0] == 'id':
continue
try:
#if len(row[6]):
quizzes[row[3]].append(int(row[6]))
except ValueError:
print row
break
print max(x for x in quizzes)
print len(quizzes)
['4', 'ADDSUB', '2013-03-17 22:09:53.287065', '57', '', '', '', '', '', '']
619
3
In [35]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.title('scores over time')
x = []
y=[]
for quiz in quizzes.itervalues():
for i, v in enumerate(quiz):
x.append(i)
y.append(v)
plt.scatter(x,y)
plt.show()
---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-35-7299dc122b20> in <module>()
11 y.append(v)
12 plt.scatter(x,y)
---> 13 plt.show()
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/pyplot.pyc in show(*args, **kw)
137 """
138 global _show
--> 139 _show(*args, **kw)
140
141
/Library/Python/2.7/site-packages/IPython/kernel/zmq/pylab/backend_inline.pyc in show(close)
101 try:
102 for figure_manager in Gcf.get_all_fig_managers():
--> 103 display(figure_manager.canvas.figure)
104 finally:
105 show._to_draw = []
/Library/Python/2.7/site-packages/IPython/core/display.pyc in display(*objs, **kwargs)
116 format = InteractiveShell.instance().display_formatter.format
117 for obj in objs:
--> 118 format_dict, md_dict = format(obj, include=include, exclude=exclude)
119 if metadata:
120 # kwarg-specified metadata gets precedence
/Library/Python/2.7/site-packages/IPython/core/formatters.pyc in format(self, obj, include, exclude)
150 md = None
151 try:
--> 152 data = formatter(obj)
153 except:
154 # FIXME: log the exception
/Library/Python/2.7/site-packages/IPython/core/formatters.pyc in __call__(self, obj)
270 for cls in pretty._get_mro(obj_class):
271 if cls in self.type_printers:
--> 272 return self.type_printers[cls](obj)
273 else:
274 printer = self._in_deferred_types(cls)
/Library/Python/2.7/site-packages/IPython/core/pylabtools.pyc in <lambda>(fig)
174 if fmt == 'png':
175 svg_formatter.type_printers.pop(Figure, None)
--> 176 png_formatter.for_type(Figure, lambda fig: print_figure(fig, 'png'))
177 elif fmt in ('png2x', 'retina'):
178 svg_formatter.type_printers.pop(Figure, None)
/Library/Python/2.7/site-packages/IPython/core/pylabtools.pyc in print_figure(fig, fmt)
108 fmt = 'png'
109 fig.canvas.print_figure(bytes_io, format=fmt, bbox_inches='tight',
--> 110 facecolor=fc, edgecolor=ec, dpi=dpi)
111 data = bytes_io.getvalue()
112 return data
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/backend_bases.pyc in print_figure(self, filename, dpi, facecolor, edgecolor, orientation, format, **kwargs)
1981 orientation=orientation,
1982 dryrun=True,
-> 1983 **kwargs)
1984 renderer = self.figure._cachedRenderer
1985 bbox_inches = self.figure.get_tightbbox(renderer)
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/backends/backend_agg.pyc in print_png(self, filename_or_obj, *args, **kwargs)
467
468 def print_png(self, filename_or_obj, *args, **kwargs):
--> 469 FigureCanvasAgg.draw(self)
470 renderer = self.get_renderer()
471 original_dpi = renderer.dpi
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/backends/backend_agg.pyc in draw(self)
419
420 try:
--> 421 self.figure.draw(self.renderer)
422 finally:
423 RendererAgg.lock.release()
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
53 def draw_wrapper(artist, renderer, *args, **kwargs):
54 before(artist, renderer)
---> 55 draw(artist, renderer, *args, **kwargs)
56 after(artist, renderer)
57
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/figure.pyc in draw(self, renderer)
896 dsu.sort(key=itemgetter(0))
897 for zorder, a, func, args in dsu:
--> 898 func(*args)
899
900 renderer.close_group('figure')
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
53 def draw_wrapper(artist, renderer, *args, **kwargs):
54 before(artist, renderer)
---> 55 draw(artist, renderer, *args, **kwargs)
56 after(artist, renderer)
57
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/axes.pyc in draw(self, renderer, inframe)
1995
1996 for zorder, a in dsu:
-> 1997 a.draw(renderer)
1998
1999 renderer.close_group('axes')
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
53 def draw_wrapper(artist, renderer, *args, **kwargs):
54 before(artist, renderer)
---> 55 draw(artist, renderer, *args, **kwargs)
56 after(artist, renderer)
57
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/collections.pyc in draw(self, renderer)
612 (np.sqrt(x) * self.figure.dpi / 72.0))
613 for x in self._sizes]
--> 614 return Collection.draw(self, renderer)
615
616 class PolyCollection(Collection):
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
53 def draw_wrapper(artist, renderer, *args, **kwargs):
54 before(artist, renderer)
---> 55 draw(artist, renderer, *args, **kwargs)
56 after(artist, renderer)
57
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/collections.pyc in draw(self, renderer)
236 gc, transform.frozen(), paths, self.get_transforms(),
237 offsets, transOffset, self.get_facecolor(), self.get_edgecolor(),
--> 238 self._linewidths, self._linestyles, self._antialiaseds, self._urls)
239
240 gc.restore()
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/matplotlib/backends/backend_agg.pyc in draw_path_collection(self, *kl, **kw)
96
97 def draw_path_collection(self, *kl, **kw):
---> 98 return self._renderer.draw_path_collection(*kl, **kw)
99
100 def _update_methods(self):
KeyboardInterrupt:
In [33]:
sum(len(x) for x in quizzes)/len(quizzes)
Out[33]:
5
In [38]:
max(len(x) for x in quizzes)
Out[38]:
6
In [ ]:
Content source: MrHamdulay/MathChallengeData
Similar notebooks: