{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from __future__ import print_function\n", "import numpy as np\n", "import pandas as pd\n", "\n", "import matplotlib.pylab as plt\n", "import matplotlib as mpl\n", "%matplotlib inline\n", "mpl.rcParams['figure.figsize'] = (14,8)\n", "pd.options.display.mpl_style = 'default'\n", "#pd.set_option('display.multi_sparse', True)\n", "\n", "from collections import OrderedDict #sorting participant df dict before pd.concat()\n", "\n", "from pprint import pprint\n", "from pprint import pformat\n", "\n", "import psutil\n", "mem_free = lambda: psutil.phymem_usage().free / 1000000\n", "mem_total = lambda: psutil.phymem_usage().total / 1000000\n", "\n", "\n", "sms_tasknames = ['T1_SMS_5', 'T1_SMS_8',\n", " 'Ticks_ISO_T2_5', 'Ticks_ISO_T2_8',\n", " 'Ticks_Linear_5', 'Ticks_Linear_8',\n", " 'Ticks_Phase_5', 'Ticks_Phase_8',\n", " 'Jits_ISO_5', 'Jits_ISO_8',\n", " 'Jits_Linear_5', 'Jits_Linear_8',\n", " 'Jits_Phase_5', 'Jits_Phase_8', ]\n", "\n", "# Participants that are excluded from all performance analysis\n", "non_english_fluent = [\n", " #'010', '014', \n", " '023', '031', \n", " '045', '050', '070', '106',]\n", "\n", "left_handed = ['042', '088',]\n", "\n", "excluded_all_tasks = non_english_fluent + left_handed # + ...\n", "excluded_pids = {t: list(excluded_all_tasks) for t in sms_tasknames}\n", "\n", "# Add task-specific exclusions\n", "# (just for testing, get real values later)\n", "#excluded_pids['T1_SMS_5'].append('101')" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#Open full stored dataset\n", "\n", "pickled_dbase = \"c:/db_pickles/pickle - dbase - 2014-10-03b.pickle\"\n", "dbase = pd.read_pickle(pickled_dbase)\n", "\n", "db_pids = sorted(dbase.index.get_level_values('pid').unique())\n", "\n", "db_sms = {task: dbase.xs(task, level='task_name') \n", " for task in sms_tasknames}\n", "\n", "task_pids = {task: sorted(df.index.get_level_values('pid').unique())\n", " for task, df in db_sms.iteritems()}\n", "\n", "no_data_pids = {task: sorted(set(db_pids).difference(set(pids)))\n", " for task, pids in task_pids.iteritems()}" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "param_all_tasks = lambda v: {task: v for task in sms_tasknames}\n", "\n", "sms_params_entry = {\n", " #used in filtering step\n", " #'wait_beats_after_task_start': param_all_tasks(9),\n", " 'wait_beats_after_subj_start': param_all_tasks(12),\n", " #used in selecting correct tap from each beat\n", " 'max_length_of_obvious_bounce': param_all_tasks(30),\n", " 'max_length_of_plausible_bounce': param_all_tasks(150),\n", " #'min_percentISI_deviation_counted_as_failure': param_all_tasks(40),\n", " #used in assigning outlier status / \"outlier metric\"\n", " #'stdev_calcs_exclude_n_from_left': param_all_tasks(2),\n", " #'stdev_calcs_exclude_n_from_right': param_all_tasks(2),\n", " #'filter_outliers_beyond_x_stdevs': param_all_tasks(3), \n", " 'stimulus_timing': {\n", " 'T1_SMS_5': 'iso',\n", " 'Ticks_ISO_T2_5': 'iso',\n", " 'Ticks_Linear_5': 'linear',\n", " 'Ticks_Phase_5': 'phase',\n", " 'Jits_ISO_5': 'iso',\n", " 'Jits_Linear_5': 'linear',\n", " 'Jits_Phase_5': 'phase',\n", " 'T1_SMS_8': 'iso',\n", " 'Ticks_ISO_T2_8': 'iso',\n", " 'Ticks_Linear_8': 'linear',\n", " 'Ticks_Phase_8': 'phase',\n", " 'Jits_ISO_8': 'iso',\n", " 'Jits_Linear_8': 'linear',\n", " 'Jits_Phase_8': 'phase',\n", " },\n", " 'stimulus_style': {\n", " 'T1_SMS_5': 'tick',\n", " 'Ticks_ISO_T2_5': 'tick',\n", " 'Ticks_Linear_5': 'tick',\n", " 'Ticks_Phase_5': 'tick',\n", " 'Jits_ISO_5': 'jitter',\n", " 'Jits_Linear_5': 'jitter',\n", " 'Jits_Phase_5': 'jitter',\n", " 'T1_SMS_8': 'tick',\n", " 'Ticks_ISO_T2_8': 'tick',\n", " 'Ticks_Linear_8': 'tick',\n", " 'Ticks_Phase_8': 'tick',\n", " 'Jits_ISO_8': 'jitter',\n", " 'Jits_Linear_8': 'jitter',\n", " 'Jits_Phase_8': 'jitter',\n", " },\n", " 'ISI': {\n", " 'T1_SMS_5': 500,\n", " 'Ticks_ISO_T2_5': 500,\n", " 'Ticks_Linear_5': '(varies)',\n", " 'Ticks_Phase_5': 500,\n", " 'Jits_ISO_5': 500,\n", " 'Jits_Linear_5': '(varies)',\n", " 'Jits_Phase_5': 500,\n", " 'T1_SMS_8': 800,\n", " 'Ticks_ISO_T2_8': 800,\n", " 'Ticks_Linear_8': '(varies)',\n", " 'Ticks_Phase_8': 800,\n", " 'Jits_ISO_8': 800,\n", " 'Jits_Linear_8': '(varies)',\n", " 'Jits_Phase_8': 800,\n", " },\n", " }\n", "\n", "#reshape to task>param so parameter lists can be selected by task\n", "sms_params = {task: {param_type: taskparams[task] \n", " for (param_type, taskparams) \n", " in sms_params_entry.items()}\n", " for task in sms_tasknames}\n", "##or, equivalent but less fun:\n", "#sms_params = {t: {} for t in sms_tasknames}\n", "#for (param_name, taskparams) in sms_params_entry.items():\n", "# for task, value in taskparams.items():\n", "# sms_params[task][param_name] = value\n", "\n", "LOOP_DELAY = 2.4 # ms, roundtrip arduino-module-arduino travel time\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NO DATA:\n", "{'Jits_ISO_5': ['013', '031'],\n", " 'Jits_ISO_8': ['013', '031'],\n", " 'Jits_Linear_5': ['012', '018', '031'],\n", " 'Jits_Linear_8': ['012', '013', '031'],\n", " 'Jits_Phase_5': ['013'],\n", " 'Jits_Phase_8': ['013', '031'],\n", " 'T1_SMS_5': ['013', '031'],\n", " 'T1_SMS_8': ['013', '031'],\n", " 'Ticks_ISO_T2_5': ['013', '031'],\n", " 'Ticks_ISO_T2_8': ['013', '031'],\n", " 'Ticks_Linear_5': ['013', '031'],\n", " 'Ticks_Linear_8': ['011', '013', '031'],\n", " 'Ticks_Phase_5': ['013', '031'],\n", " 'Ticks_Phase_8': ['013', '031']}\n", "\n", "EXCLUDED:\n", "{'Jits_ISO_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Jits_ISO_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Jits_Linear_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Jits_Linear_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Jits_Phase_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Jits_Phase_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'T1_SMS_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'T1_SMS_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_ISO_T2_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_ISO_T2_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_Linear_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_Linear_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_Phase_5': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088'],\n", " 'Ticks_Phase_8': ['010', '014', '023', '031', '045', '050', '070', '106', '042', '088']}\n" ] } ], "source": [ "print('NO DATA:\\n{0}\\n\\nEXCLUDED:\\n{1}'\n", " .format(pformat(no_data_pids), \n", " pformat(excluded_pids, width=100)))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def taps_by_beats(participant_task_data, task_params):\n", " \n", " pdata = participant_task_data\n", " if len(pdata) < 1:\n", " raise ValueError('zero-length data')\n", "\n", " sstyle = task_params['stimulus_style']\n", " stiming = task_params['stimulus_timing']\n", " ISI = task_params['ISI']\n", " \n", " target_source = {'tick': 'loopback', 'jitter': 'target'}\n", " btarget_stamps = pdata.xs(target_source[sstyle], \n", " level='stamp_type')\n", "\n", " if sstyle == 'jitter':\n", " # For these tasks, we need to find the middle of the beat differently.\n", " # for other tasks, the Arduino program used the \"target\" timestamp \n", " # designation to indicate when the stimuli were sent out toward the module.\n", " # For jitter tasks, however, the 'target' stamp was placed halfway between \n", " # midpoints of distributions of jittered stimuli. \n", " # The 'target' stamp was made when serial output was sent to the PC, and\n", " # because sending serial output creates a lag in the arduino's data recording,\n", " # the output needed to be sent at a time that we didn't need to be keeping close\n", " # track of incoming performance data, i.e., halfway between the stimulus \n", " # distribution midpoints. \n", " # Memory constraints prevented the program from just holding onto all of the\n", " # data until a serial dump at the end of the task, which is what was done\n", " # for the other tasks, where there were fewer stimulus events to keep track of.\n", " \n", " # Subtract 250 or 400 ms from each 'target' stamp to estimate the midpoint of \n", " # the generating distribution for the randomly-jittered stimuli. \n", " if stiming == 'iso':\n", " adjust = (-1 * ISI / 2) \n", " # here, \"adjust\" is a series. find the middle of the beat based on the current\n", " # beat duration (and still halfway between the \"target\" designation in output)\n", " elif stiming == 'phase':\n", " #evaluate this!\n", " adjust = (-1 * ISI / 2) \n", " elif stiming == 'linear':\n", " intervals = btarget_stamps.task_ms - btarget_stamps.task_ms.shift(1)\n", " adjust = (-1 * intervals / 2)\n", " else:\n", " raise ValueError\n", " \n", " #LOOP_DELAY defined above (2.4):\n", " # 2.4 ms == average midi travel time. 'target' was stamped at arduino output\n", " # time, and stimuli/taps were stamped at arduino input time. Roundtrip from\n", " # arduino to module to arduino is about 2.4 ms on average.\n", " \n", " # tricky: we're using 'adjust' as a scalar for 'iso', \n", " # and using it as a series for 'linear'!\n", " \n", " btarget_stamps.task_ms = (btarget_stamps.task_ms + \n", " adjust + LOOP_DELAY)\n", " # Need to set up for 'phase' tasks above. When running phase task:\n", " #UnboundLocalError: local variable 'adjust' referenced before assignment\n", " btarget_stamps.micros = (btarget_stamps.micros + \n", " (1000 * (adjust + LOOP_DELAY)))\n", "\n", " #Could also experiment with this: do participants tap closer to a consistent\n", " #center-of-distribution-as-calculated beat? Or do they tap closer to the\n", " #actual empirical timings that were produced for the stimuli? Or do they\n", " #just tap along with a particular instrument?\n", " \n", " \n", " # assign beat numbers for loopback stimuli measurements, \n", " # and set a range of -1/2 interval to +1/2 interval to \n", " # group the tap/stim events into beats.\n", " \n", " # add a new index (zero-indexed) for beats\n", " btarget_stamps.index = range(len(btarget_stamps))\n", " btargets = pd.DataFrame(btarget_stamps)\n", " btargets.index.name = 'beat'\n", " btargets['stamp'] = 'btarget'\n", " btargets.set_index('stamp', append=True, inplace=True) \n", " assert btargets.index.names == ('beat', 'stamp')\n", "\n", " #first beat would get NaN values, so set the start of beat 0 to 0 ms\n", " btarget_stamps.loc[0, 'task_ms'] = 0\n", " #print(btargets)\n", " assert btargets.iloc[0].task_ms == 0 \n", " \n", " #calculate interval between btargets (already had this as 'int_raw',\n", " # but it might be useful to be able to recalculate this from particular\n", " # subsets of the stimulus later, e.g., center of jitter group?)\n", " btargets['beat_target'] = tstamp = btargets.task_ms \n", " btargets['tinterval'] = tstamp - tstamp.shift(1)\n", " int_change = btargets.tinterval - btargets.shift(1).tinterval\n", " btargets['target_spiked'] = (abs(int_change) > 15)\n", "\n", " btargets['beat_start'] = tstamp.shift(1) + (btargets.tinterval / 2)\n", " btargets['beat_start'].iloc[0] = 0.0 # shift(1) left a leading NaN\n", " \n", " btargets['beat_end'] = btargets.shift(-1).beat_start \n", " # shift(-1) left a trailing NaN. Estimate using the previous interval\n", " end = btargets.iloc[-1].beat_target + (btargets.iloc[-1].tinterval / 2)\n", " btargets['beat_end'].iloc[-1] = end \n", " \n", "\n", " #pull out the taps series and then assign to the beats created above. \n", " taps = pd.DataFrame(pdata.xs('tap_r', level='stamp_type'))\n", " taps['stamp'] = 'tap'\n", " taps.set_index('stamp', inplace=True) \n", " \n", " beatset = btargets\n", " for beatnum, stampname in btargets.index.values: #e.g., 0 to 119 for SMS800 T2\n", " target_df = btargets.xs(beatnum, level='beat', drop_level=False)\n", " assert target_df.shape[0] == 1 \n", " assert target_df['task_ms'].count() == 1\n", " target = target_df.iloc[0] \n", " taps_in_beat = taps[(taps.task_ms >= target.beat_start) &\n", " (taps.task_ms < target.beat_end)] \n", " taps_in_beat['beat_start'] = target.beat_start\n", " taps_in_beat['beat_end'] = target.beat_end\n", " taps_in_beat['beat_target'] = target.task_ms \n", " taps_in_beat['beat'] = beatnum \n", " taps_in_beat = taps_in_beat.set_index('beat', append=True)\n", " taps_in_beat = taps_in_beat.swaplevel('beat', 'stamp')\n", " beatset = beatset.append(taps_in_beat)\n", " beatset = beatset.sort()\n", "\n", " beatgroups = beatset.groupby(level='beat')\n", " def deviations(beatgrp):\n", " targetdf = beatgrp.xs('btarget', level='stamp')\n", " assert len(targetdf.index) == 1\n", " target = targetdf.iloc[0] \n", " beatgrp['dev'] = beatgrp.task_ms - target.task_ms\n", " beatgrp['dev_perc'] = 100 * beatgrp.dev / target.tinterval\n", " #the above formula will be incorrect for the first beat (the \n", " #interval is half-length) but we're discarding initial beats anyway.\n", " return beatgrp\n", " beatgroups = beatgroups.apply(deviations)\n", " \n", " remdevs = beatgroups.xs('btarget', level='stamp')\n", " remdevs.dev = np.nan\n", " remdevs.dev_perc = np.nan \n", " \n", " return beatgroups.sort()\n", " " ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "phase_shift_beats = {800: \n", " {30: -20,\n", " 48: +20,\n", " 64: +40,\n", " 81: -40,\n", " 97: -80,\n", " 114: +80,\n", " 131: +160,\n", " 150: -160},\n", " 500: \n", " {64: +20,\n", " 81: -20,\n", " 97: -50,\n", " 114: +50,\n", " 131: +100,\n", " 150: -100} }\n", "\n", "\n", "def add_phase_shift_info(participant_task_data, task_params):\n", " \n", " df = participant_task_data \n", " ISI = task_params['ISI']\n", " stiming = task_params['stimulus_timing']\n", " assert stiming == 'phase'\n", "\n", " shifts = phase_shift_beats[ISI]\n", " shift_beats = sorted(shifts.keys())\n", " beatnums = sorted(set(df.index.get_level_values('beat')))\n", "\n", " df['shifted_ms_before_target'] = np.nan\n", " df['last_shift_val'] = np.nan\n", " \n", " for b in beatnums:\n", " \n", " previous_beats = range(b)\n", " previous_shift_beats = [s for s in shift_beats if s in previous_beats]\n", "\n", " if b in shift_beats:\n", "\n", " df.loc[(b, 'target'), 'shifted_ms_before_target'] = 0\n", " df.loc[(b, 'target'), 'last_shift_val'] = shifts[b]\n", "\n", " elif not previous_shift_beats:\n", "\n", " df.loc[(b, 'target'), 'last_shift_val'] = np.nan\n", " df.loc[(b, 'target'), 'shifted_ms_before_target'] = np.inf\n", "\n", " else:\n", "\n", " last_shift_beat = max(previous_shift_beats)\n", " last_shift_beat_time = df.loc[(last_shift_beat, 'target')].task_ms\n", "\n", " last_shift_beat_amount = shifts[last_shift_beat]\n", " last_shift_ms_ago = df.loc[(b, 'target')].task_ms - last_shift_beat_time\n", "\n", " df.loc[(b, 'target'), 'last_shift_val'] = last_shift_beat_amount\n", " df.loc[(b, 'target'), 'shifted_ms_before_target'] = last_shift_ms_ago\n", "\n", "\n", " lsv = df.loc[(b, 'target'), 'last_shift_val']\n", " df.loc[(b, 'tap'), 'last_shift_val'] = lsv\n", "\n", " smbt = df.loc[(b, 'target'), 'shifted_ms_before_target']\n", " df.loc[(b, 'tap'), 'shifted_ms_before_target'] = smbt\n", "\n", "\n", " return df\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def select_best_tap(beat, task_params):\n", " ''' Input: taps only (no stimuli), for a single beat\n", " Output: a single tap, counted as the proper attempt for this beat'''\n", " #Remember: always return a row (iloc[0]), not the whole 'beat' group.\n", " #Otherwise the combined output does weird things like duplicating the index.\n", " len_obviousbounce = task_params['max_length_of_obvious_bounce']\n", " len_plausiblebounce = task_params['max_length_of_plausible_bounce']\n", " #dev_failure = task_params['min_deviation_counted_as_failure']\n", " #devperc_failure = task_params['min_percentISI_deviation_counted_as_failure']\n", " \n", " #print(beat)\n", " \n", " targetdf = beat.xs('btarget', level='stamp')\n", " assert len(targetdf.index) == 1\n", " target = targetdf.iloc[0]\n", " target_int = target.tinterval\n", " target_ms = target.task_ms\n", " \n", " taps = beat.xs('tap', level='stamp') \n", " tapcount = len(taps.index)\n", "\n", " taps['selection_case'] = np.nan\n", " taps['multiple_taskms'] = \"\" \n", " \n", " if tapcount < 1: \n", " return None\n", " \n", " # Case 1: Only one tap registered for this beat.\n", " if tapcount == 1:\n", " taps.selection_case = 1\n", " return taps.iloc[0]\n", " \n", " first = taps.iloc[0]\n", " second = taps.iloc[1]\n", " last = taps.iloc[-1]\n", " all_task_ms = taps.task_ms.tolist()\n", " \n", " assert first.task_ms < second.task_ms <= last.task_ms\n", " assert first.beat_target == second.beat_target == last.beat_target\n", " #target = first.beat_target\n", " # (changed to target_ms calculated above)\n", " \n", " \n", " # Case 2: Very quick bounces-- keep timing of first\n", " # but set velocity to whichever is loudest.\n", " \n", " if (last.task_ms - first.task_ms <= len_obviousbounce):\n", " selection_case = 2\n", " selected = taps[taps.task_ms == first.task_ms]\n", " selected.velocity = taps.velocity.max()\n", " \n", " # Case 3: Slower bounces, but the taps aren't extremely far apart.\n", " # Keep the first, but retain the velocity of that tap \n", " # (rather than getting the \"peak\" as in Case 2).\n", " \n", " elif (last.task_ms - first.task_ms <= len_plausiblebounce): \n", " selection_case = 3\n", " selected = taps[taps.task_ms == first.task_ms]\n", " \n", " # Case 4: Not a bounce (they're too far apart to be a quick bounce,\n", " # and it's not likely to be a slow bounce because Case 3\n", " # wasn't satisfied), but there are two taps. Perhaps the\n", " # participant is trying to realign. Keep the closest tap.\n", " # (this shouldn't happen often, so check the output for\n", " # the number of selection_case=4 entries.)\n", " \n", " else:\n", " selection_case = 4\n", " smallest_perc_dev = taps.dev_perc.apply(abs).min()\n", " selected = taps[abs(taps.dev_perc) == smallest_perc_dev]\n", "\n", " try:\n", " assert len(selected) == 1\n", " except AssertionError:\n", " print('selection case was %s' % selection_case)\n", " print('number of selected taps was %s' % len(selected))\n", " raise\n", " \n", " selectedt = selected.iloc[0]\n", " selectedt.selection_case = selection_case\n", " \n", " multiple_tap_info = ','.join([str(int(t)) for t in all_task_ms])\n", " selectedt.multiple_taskms = multiple_tap_info #includes the retained tap\n", "\n", " return selectedt\n", " \n", " \n", " # Case 5: above cases didn't apply.\n", " # Unusual (for SMS800, happened 11 times across\n", " # eight participants among the full sample). \n", " # Here, we've established that we just keep the highest-velocity tap.\n", " #else:\n", " # selected = taps[taps.velocity == taps.velocity.min()]\n", " # if len(selected) > 1:\n", " # selected = selected[selected.dev == selected.dev.min()]\n", " # assert len(selected) == 1\n", " # selected['selection_case'] = 5\n", " # return selected.iloc[0]\n", " \n", " # Selection will fall through to case 5 if beats are set up incorrectly.\n", " # In bug testing I found that final intervals ended too late, so the\n", " # point where a participant does one final tap after the task has actually\n", " # ended was included in this interval. This situation didn't fit any of\n", " # cases 1-3 because the taps were so far apart. Then it didn't fit case 4\n", " # because the first tap (which was actually supposed to be in that beat)\n", " # was very close to the target, whereas the last tap (which was after the\n", " # task ended) was very far away from the target." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def print_task_info(taskname):\n", " print('\\n' + ('='*70))\n", " print('* ' + taskname)\n", " print('* No data for IDs: {}'.format(', '.join(no_data_pids[taskname])))\n", " print('* IDs excluded: {}'.format(', '.join(excluded_pids[taskname])))\n", " print('-'*40)\n", "\n", "#def progress_wave(i):\n", "# print(\"_.~*^`=~-.\"[int(i) % 10], end='')\n", "# return" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def sms_task_processing(participant_data, task_params, print_beats=False):\n", "\n", " participant_data.drop(['int_raw', 'run_count', 'task_id'],\n", " axis=1, inplace=True)\n", "\n", " beats = taps_by_beats(participant_data, task_params)\n", " \n", " if print_beats: \n", " print(beats)\n", " \n", " beatgroups = beats.groupby(level='beat')\n", " selected = beatgroups.apply(lambda g: select_best_tap(g, task_params))\n", "\n", " # convenient way of identifying the blank 'tap' items in the series\n", " # that were inserted during select_best_tap() whenever the number of \n", " # taps in a beat was zero.\n", " selected['is_failure'] = np.isnan(selected.micros)\n", " \n", " selected['ints'] = selected.task_ms - selected.task_ms.shift(1)\n", "\n", " targets = beats.xs('btarget', level='stamp')\n", " \n", " #Run filters later-- we\n", " #want to keep all of the data for now, except decisions that we\n", " #have to make immediately (mainly, which tap to keep in intervals\n", " #that contain multiple taps, as selected above by select_best_tap().)\n", "\n", " #filtered = filter_taps(...) #moved to part 4 notebook\n", " #filtered[filtered.is_outlier]\n", " \n", " combined = pd.concat([selected, targets], \n", " keys=['tap','target'], \n", " names=['stamp'])\n", " \n", " combined = combined.swaplevel('beat', 'stamp').sort()\n", " \n", " if task_params['stimulus_timing'] == 'phase':\n", " combined = add_phase_shift_info(combined, task_params)\n", " \n", "\n", " return combined" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "======================================================================\n", "* T1_SMS_5\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3418 megs free memory\n", "057,099,\n", "======================================================================\n", "* T1_SMS_8\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3403 megs free memory\n", "033,077,119,\n", "======================================================================\n", "* Ticks_ISO_T2_5\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3408 megs free memory\n", "055,097,\n", "======================================================================\n", "* Ticks_ISO_T2_8\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3395 megs free memory\n", "030,075,117,\n", "======================================================================\n", "* Ticks_Linear_5\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3396 megs free memory\n", "053,095,\n", "======================================================================\n", "* Ticks_Linear_8\n", "* No data for IDs: 011, 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3411 megs free memory\n", "029,074,116,\n", "======================================================================\n", "* Ticks_Phase_5\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3398 megs free memory\n", "052,094,\n", "======================================================================\n", "* Ticks_Phase_8\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3389 megs free memory\n", "027,072,114,\n", "======================================================================\n", "* Jits_ISO_5\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3393 megs free memory\n", "049,092,\n", "======================================================================\n", "* Jits_ISO_8\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3665 megs free memory\n", "025,069,112,\n", "======================================================================\n", "* Jits_Linear_5\n", "* No data for IDs: 012, 018, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3630 megs free memory\n", "048,091,\n", "======================================================================\n", "* Jits_Linear_8\n", "* No data for IDs: 012, 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3564 megs free memory\n", "025,069,112,\n", "======================================================================\n", "* Jits_Phase_5\n", "* No data for IDs: 013\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3599 megs free memory\n", "047,090,\n", "======================================================================\n", "* Jits_Phase_8\n", "* No data for IDs: 013, 031\n", "* IDs excluded: 010, 014, 023, 031, 045, 050, 070, 106, 042, 088\n", "----------------------------------------\n", "3601 megs free memory\n", "022,067,110," ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Applications\\_Data analysis\\Anaconda\\lib\\site-packages\\pandas\\core\\generic.py:1858: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_index,col_indexer] = value instead\n", " self[name] = value\n" ] } ], "source": [ "def process_sms_task_set(sms_params, testing_subset=False):\n", " \n", " import psutil\n", " \n", " task_frames = OrderedDict()\n", " task_pid_iteration = 0\n", " \n", " for taskname in sms_tasknames:\n", " \n", " #testing out phase tasks only\n", " #if 'Phase' not in taskname:\n", " # continue\n", " ########\n", " \n", " task_data = db_sms[taskname]\n", " task_params = sms_params[taskname]\n", " pids_using = [p for p in task_pids[taskname] \n", " if p not in excluded_pids[taskname]]\n", " \n", " print_task_info(taskname)\n", " \n", " mem_free = psutil.virtual_memory()[1] / 1000000\n", " print(\"{} megs free memory\".format(mem_free))\n", " \n", " pid_frames = OrderedDict()\n", " \n", " for pid in pids_using:\n", " \n", " task_pid_iteration += 1\n", " \n", " if testing_subset and (task_pid_iteration % testing_subset != 0):\n", " #for testing: skip all except every N task/participant combos\n", " continue\n", " \n", " print(pid + ',', end='')\n", " \n", " participant_data = task_data.xs(pid, level='pid')\n", " \n", " processed = sms_task_processing(participant_data, \n", " task_params) \n", " pid_frames[pid] = processed \n", " \n", " task_finished = pd.concat(pid_frames,\n", " keys=pid_frames.keys(), \n", " names=['pid'])\n", " \n", " task_frames[taskname] = task_finished\n", "\n", " return task_frames\n", " \n", "\n", "tframes = process_sms_task_set(sms_params=sms_params,\n", " testing_subset=40,\n", " )\n", "\n", "import cPickle as pickle\n", "#output_file=\"c:/db_pickles/pickle - smsbeats - 2014-10-03b.pickle\"\n", "output_file=\"c:/db_pickles/pickle - smsbeats - 2014-10-12a SUBSET.pickle\"\n", "pickle.dump(tframes, open(output_file, \"wb\"))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "T1_SMS_5\n" ] }, { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
beat_endbeat_startbeat_targetdevdev_percintstarget_spikedtask_mstinterval
pidbeatstamp
0110 tap NaN NaN NaN NaN NaN NaN NaN NaNNaN
5 tap 2749.968 2249.638 2499.580 10.124 2.025270 435.608 NaN 2509.704NaN
10 tap 5250.118 4750.394 5000.260-17.716 -3.545100 504.148 NaN 4982.544NaN
15 tap 7750.044 7249.908 7499.700-11.688 -2.339547 505.064 NaN 7488.012NaN
20 tap 10250.200 9749.908 10000.296 -4.692 -0.936946 492.872 NaN 9995.604NaN
25 tap 12749.804 12250.000 12499.864-38.144 -7.632952 453.184 NaN 12461.720NaN
30 tap 15250.610 14750.240 15000.712 0.900 0.179661 503.968 NaN 15001.612NaN
35 tap 17749.886 17250.188 17500.016-13.640 -2.729878 502.208 NaN 17486.376NaN
40 tap 20250.028 19749.726 19999.556-14.164 -2.834728 496.800 NaN 19985.392NaN
45 tap 22750.154 22249.968 22500.400 -9.204 -1.837625 505.748 NaN 22491.196NaN
50 tap 25249.724 24750.588 24999.892-13.336 -2.674646 487.224 NaN 24986.556NaN
55 tap 27750.206 27249.982 27500.340 4.188 0.836402 532.748 NaN 27504.528NaN
60 tap 30249.932 29750.162 30000.028 23.208 4.644089 465.076 NaN 30023.236NaN
65 tap 32750.150 32249.926 32499.944 3.364 0.672752 532.828 NaN 32503.308NaN
70 tap 35250.014 34749.834 35000.112 -5.292 -1.057224 486.940 NaN 34994.820NaN
75 tap 37749.674 37250.032 37499.712 24.332 4.872637 513.716 NaN 37524.044NaN
80 tap 40250.296 39750.148 40000.500 -6.872 -1.372468 459.648 NaN 39993.628NaN
85 tap 42749.930 42250.200 42500.064 -2.360 -0.472257 484.304 NaN 42497.704NaN
90 tap 45249.952 44749.768 44999.560 7.420 1.485236 487.184 NaN 45006.980NaN
95 tap 47750.228 47250.418 47500.324 8.396 1.679832 549.236 NaN 47508.720NaN
100tap 50249.814 49750.156 50000.136 -9.356 -1.871350 501.908 NaN 49990.780NaN
105tap 52750.282 52250.136 52500.376-29.800 -5.954284 468.220 NaN 52470.576NaN
110tap 55249.858 54750.092 54999.996 28.544 5.710993 517.924 NaN 55028.540NaN
115tap 57749.990 57249.802 57499.784 63.804 12.761719 568.684 NaN 57563.588NaN
120tap 60250.056 59750.432 60000.228 13.284 2.658970 521.856 NaN 60013.512NaN
125tap 62750.180 62249.960 62499.788 33.736 6.751845 526.728 NaN 62533.524NaN
0120 tap NaN NaN NaN NaN NaN NaN NaN NaNNaN
5 tap 2750.556 2250.862 2500.764 39.068 7.816664 494.468 NaN 2539.832NaN
10 tap 5250.582 4750.474 5000.232 5.016 1.004172 529.680 NaN 5005.248NaN
15 tap 7750.782 7250.558 7500.912-33.112 -6.613036 487.852 NaN 7467.800NaN
....................................
120110tap 55249.474 54749.292 54999.140-10.808 -2.162915 522.824 NaN 54988.332NaN
115tap 57749.534 57249.764 57499.612-16.416 -3.285197 487.204 NaN 57483.196NaN
120tap 60250.400 59750.144 60000.700 -1.336 -0.266607 514.700 NaN 59999.364NaN
125tap 62749.702 62249.370 62499.776 -2.800 -0.559092 502.836 NaN 62496.976NaN
1210 tap NaN NaN NaN NaN NaN NaN NaN NaNNaN
5 tap 2749.818 2249.600 2499.448 17.028 3.407672 439.152 NaN 2516.476NaN
10 tap 5249.968 4749.822 5000.156-18.584 -3.711841 501.488 NaN 4981.572NaN
15 tap 7749.570 7249.802 7499.612 30.572 6.119050 525.276 NaN 7530.184NaN
20 tap 10250.096 9749.918 10000.248-13.568 -2.710023 476.644 NaN 9986.680NaN
25 tap 12749.754 12250.020 12500.016-26.292 -5.258484 520.188 NaN 12473.724NaN
30 tap 15249.836 14749.618 14999.392-14.244 -2.851378 503.888 NaN 14985.148NaN
35 tap 17749.958 17250.156 17500.040 29.452 5.893134 525.052 NaN 17529.492NaN
40 tap 20249.552 19749.744 19999.704-15.216 -3.043687 494.316 NaN 19984.488NaN
45 tap 22750.056 22249.776 22500.172-37.584 -7.504912 501.492 NaN 22462.588NaN
50 tap 25249.692 24749.880 24999.692-24.120 -4.827630 502.540 NaN 24975.572NaN
55 tap 27749.884 27249.776 27499.736-29.580 -5.916947 525.868 NaN 27470.156NaN
60 tap 30249.964 29750.194 30000.004-24.268 -4.857292 503.884 NaN 29975.736NaN
65 tap 32750.106 32249.864 32499.896-42.092 -8.417323 485.408 NaN 32457.804NaN
70 tap 35249.960 34749.924 35000.076 9.032 1.805302 515.052 NaN 35009.108NaN
75 tap 37749.772 37249.890 37499.812-40.500 -8.102528 510.684 NaN 37459.312NaN
80 tap 40249.858 39749.714 39999.636-58.824-11.768472 480.248 NaN 39940.812NaN
85 tap 42749.792 42250.170 42499.980-24.888 -4.981386 500.420 NaN 42475.092NaN
90 tap 45249.896 44749.680 44999.524 -7.888 -1.578585 486.436 NaN 44991.636NaN
95 tap 47750.028 47249.860 47500.292-24.640 -4.919499 490.172 NaN 47475.652NaN
100tap 50249.664 49749.856 49999.740-20.748 -4.151526 502.612 NaN 49978.992NaN
105tap 52749.898 52249.494 52499.416-15.592 -3.119373 497.748 NaN 52483.824NaN
110tap 55249.770 54750.224 54999.960 -8.040 -1.609700 507.476 NaN 54991.920NaN
115tap 57749.962 57249.706 57499.628-32.116 -6.425205 506.060 NaN 57467.512NaN
120tap 60250.120 59749.900 60000.420-56.652-11.306882 497.452 NaN 59943.768NaN
125tap 62749.646 62249.984 62499.720-16.116 -3.226607 495.284 NaN 62483.604NaN
\n", "

2626 rows × 9 columns

\n", "
" ], "text/plain": [ " beat_end beat_start beat_target dev dev_perc \\\n", "pid beat stamp \n", "011 0 tap NaN NaN NaN NaN NaN \n", " 5 tap 2749.968 2249.638 2499.580 10.124 2.025270 \n", " 10 tap 5250.118 4750.394 5000.260 -17.716 -3.545100 \n", " 15 tap 7750.044 7249.908 7499.700 -11.688 -2.339547 \n", " 20 tap 10250.200 9749.908 10000.296 -4.692 -0.936946 \n", " 25 tap 12749.804 12250.000 12499.864 -38.144 -7.632952 \n", " 30 tap 15250.610 14750.240 15000.712 0.900 0.179661 \n", " 35 tap 17749.886 17250.188 17500.016 -13.640 -2.729878 \n", " 40 tap 20250.028 19749.726 19999.556 -14.164 -2.834728 \n", " 45 tap 22750.154 22249.968 22500.400 -9.204 -1.837625 \n", " 50 tap 25249.724 24750.588 24999.892 -13.336 -2.674646 \n", " 55 tap 27750.206 27249.982 27500.340 4.188 0.836402 \n", " 60 tap 30249.932 29750.162 30000.028 23.208 4.644089 \n", " 65 tap 32750.150 32249.926 32499.944 3.364 0.672752 \n", " 70 tap 35250.014 34749.834 35000.112 -5.292 -1.057224 \n", " 75 tap 37749.674 37250.032 37499.712 24.332 4.872637 \n", " 80 tap 40250.296 39750.148 40000.500 -6.872 -1.372468 \n", " 85 tap 42749.930 42250.200 42500.064 -2.360 -0.472257 \n", " 90 tap 45249.952 44749.768 44999.560 7.420 1.485236 \n", " 95 tap 47750.228 47250.418 47500.324 8.396 1.679832 \n", " 100 tap 50249.814 49750.156 50000.136 -9.356 -1.871350 \n", " 105 tap 52750.282 52250.136 52500.376 -29.800 -5.954284 \n", " 110 tap 55249.858 54750.092 54999.996 28.544 5.710993 \n", " 115 tap 57749.990 57249.802 57499.784 63.804 12.761719 \n", " 120 tap 60250.056 59750.432 60000.228 13.284 2.658970 \n", " 125 tap 62750.180 62249.960 62499.788 33.736 6.751845 \n", "012 0 tap NaN NaN NaN NaN NaN \n", " 5 tap 2750.556 2250.862 2500.764 39.068 7.816664 \n", " 10 tap 5250.582 4750.474 5000.232 5.016 1.004172 \n", " 15 tap 7750.782 7250.558 7500.912 -33.112 -6.613036 \n", "... ... ... ... ... ... \n", "120 110 tap 55249.474 54749.292 54999.140 -10.808 -2.162915 \n", " 115 tap 57749.534 57249.764 57499.612 -16.416 -3.285197 \n", " 120 tap 60250.400 59750.144 60000.700 -1.336 -0.266607 \n", " 125 tap 62749.702 62249.370 62499.776 -2.800 -0.559092 \n", "121 0 tap NaN NaN NaN NaN NaN \n", " 5 tap 2749.818 2249.600 2499.448 17.028 3.407672 \n", " 10 tap 5249.968 4749.822 5000.156 -18.584 -3.711841 \n", " 15 tap 7749.570 7249.802 7499.612 30.572 6.119050 \n", " 20 tap 10250.096 9749.918 10000.248 -13.568 -2.710023 \n", " 25 tap 12749.754 12250.020 12500.016 -26.292 -5.258484 \n", " 30 tap 15249.836 14749.618 14999.392 -14.244 -2.851378 \n", " 35 tap 17749.958 17250.156 17500.040 29.452 5.893134 \n", " 40 tap 20249.552 19749.744 19999.704 -15.216 -3.043687 \n", " 45 tap 22750.056 22249.776 22500.172 -37.584 -7.504912 \n", " 50 tap 25249.692 24749.880 24999.692 -24.120 -4.827630 \n", " 55 tap 27749.884 27249.776 27499.736 -29.580 -5.916947 \n", " 60 tap 30249.964 29750.194 30000.004 -24.268 -4.857292 \n", " 65 tap 32750.106 32249.864 32499.896 -42.092 -8.417323 \n", " 70 tap 35249.960 34749.924 35000.076 9.032 1.805302 \n", " 75 tap 37749.772 37249.890 37499.812 -40.500 -8.102528 \n", " 80 tap 40249.858 39749.714 39999.636 -58.824 -11.768472 \n", " 85 tap 42749.792 42250.170 42499.980 -24.888 -4.981386 \n", " 90 tap 45249.896 44749.680 44999.524 -7.888 -1.578585 \n", " 95 tap 47750.028 47249.860 47500.292 -24.640 -4.919499 \n", " 100 tap 50249.664 49749.856 49999.740 -20.748 -4.151526 \n", " 105 tap 52749.898 52249.494 52499.416 -15.592 -3.119373 \n", " 110 tap 55249.770 54750.224 54999.960 -8.040 -1.609700 \n", " 115 tap 57749.962 57249.706 57499.628 -32.116 -6.425205 \n", " 120 tap 60250.120 59749.900 60000.420 -56.652 -11.306882 \n", " 125 tap 62749.646 62249.984 62499.720 -16.116 -3.226607 \n", "\n", " ints target_spiked task_ms tinterval \n", "pid beat stamp \n", "011 0 tap NaN NaN NaN NaN \n", " 5 tap 435.608 NaN 2509.704 NaN \n", " 10 tap 504.148 NaN 4982.544 NaN \n", " 15 tap 505.064 NaN 7488.012 NaN \n", " 20 tap 492.872 NaN 9995.604 NaN \n", " 25 tap 453.184 NaN 12461.720 NaN \n", " 30 tap 503.968 NaN 15001.612 NaN \n", " 35 tap 502.208 NaN 17486.376 NaN \n", " 40 tap 496.800 NaN 19985.392 NaN \n", " 45 tap 505.748 NaN 22491.196 NaN \n", " 50 tap 487.224 NaN 24986.556 NaN \n", " 55 tap 532.748 NaN 27504.528 NaN \n", " 60 tap 465.076 NaN 30023.236 NaN \n", " 65 tap 532.828 NaN 32503.308 NaN \n", " 70 tap 486.940 NaN 34994.820 NaN \n", " 75 tap 513.716 NaN 37524.044 NaN \n", " 80 tap 459.648 NaN 39993.628 NaN \n", " 85 tap 484.304 NaN 42497.704 NaN \n", " 90 tap 487.184 NaN 45006.980 NaN \n", " 95 tap 549.236 NaN 47508.720 NaN \n", " 100 tap 501.908 NaN 49990.780 NaN \n", " 105 tap 468.220 NaN 52470.576 NaN \n", " 110 tap 517.924 NaN 55028.540 NaN \n", " 115 tap 568.684 NaN 57563.588 NaN \n", " 120 tap 521.856 NaN 60013.512 NaN \n", " 125 tap 526.728 NaN 62533.524 NaN \n", "012 0 tap NaN NaN NaN NaN \n", " 5 tap 494.468 NaN 2539.832 NaN \n", " 10 tap 529.680 NaN 5005.248 NaN \n", " 15 tap 487.852 NaN 7467.800 NaN \n", "... ... ... ... ... \n", "120 110 tap 522.824 NaN 54988.332 NaN \n", " 115 tap 487.204 NaN 57483.196 NaN \n", " 120 tap 514.700 NaN 59999.364 NaN \n", " 125 tap 502.836 NaN 62496.976 NaN \n", "121 0 tap NaN NaN NaN NaN \n", " 5 tap 439.152 NaN 2516.476 NaN \n", " 10 tap 501.488 NaN 4981.572 NaN \n", " 15 tap 525.276 NaN 7530.184 NaN \n", " 20 tap 476.644 NaN 9986.680 NaN \n", " 25 tap 520.188 NaN 12473.724 NaN \n", " 30 tap 503.888 NaN 14985.148 NaN \n", " 35 tap 525.052 NaN 17529.492 NaN \n", " 40 tap 494.316 NaN 19984.488 NaN \n", " 45 tap 501.492 NaN 22462.588 NaN \n", " 50 tap 502.540 NaN 24975.572 NaN \n", " 55 tap 525.868 NaN 27470.156 NaN \n", " 60 tap 503.884 NaN 29975.736 NaN \n", " 65 tap 485.408 NaN 32457.804 NaN \n", " 70 tap 515.052 NaN 35009.108 NaN \n", " 75 tap 510.684 NaN 37459.312 NaN \n", " 80 tap 480.248 NaN 39940.812 NaN \n", " 85 tap 500.420 NaN 42475.092 NaN \n", " 90 tap 486.436 NaN 44991.636 NaN \n", " 95 tap 490.172 NaN 47475.652 NaN \n", " 100 tap 502.612 NaN 49978.992 NaN \n", " 105 tap 497.748 NaN 52483.824 NaN \n", " 110 tap 507.476 NaN 54991.920 NaN \n", " 115 tap 506.060 NaN 57467.512 NaN \n", " 120 tap 497.452 NaN 59943.768 NaN \n", " 125 tap 495.284 NaN 62483.604 NaN \n", "\n", "[2626 rows x 9 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#output_file=\"c:/db_pickles/task_frames_sms_20140918a_subset.pickle\"\n", "#pickle.dump(tframes, open(output_file, \"wb\"))\n", "\n", "t = tframes.keys()[0]\n", "print(t)\n", "df = tframes[t]\n", "\n", "dfsubset = df.drop(['pitch', 'channel', 'is_failure', 'selection_case', 'micros', 'velocity', 'i', 'multiple_taskms'], axis=1)\n", "\n", "dfsubset[::10]\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "248" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dfsubset.groupby(level=0).beat_target.count().min()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import cPickle as pickle\n", "with open(\"c:/db_pickles/pickle - smsbeats - 2014-10-03b.pickle\") as f:\n", " task_frames = pickle.load(f)\n", " \n", "task = sms_tasknames[0]\n", "print(task)\n", "task_frames[task]" ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(0, 'T1_SMS_5'),\n", " (1, 'T1_SMS_8'),\n", " (2, 'Ticks_ISO_T2_5'),\n", " (3, 'Ticks_ISO_T2_8'),\n", " (4, 'Ticks_Linear_5'),\n", " (5, 'Ticks_Linear_8'),\n", " (6, 'Ticks_Phase_5'),\n", " (7, 'Ticks_Phase_8'),\n", " (8, 'Jits_ISO_5'),\n", " (9, 'Jits_ISO_8'),\n", " (10, 'Jits_Linear_5'),\n", " (11, 'Jits_Linear_8'),\n", " (12, 'Jits_Phase_5'),\n", " (13, 'Jits_Phase_8')]\n" ] }, { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
beat_endbeat_startbeat_targetchanneldevdev_perciintervalintsis_failuremicrospitchselection_casetarget_spikedtask_msvelocity
pidbeatstamp
0948 tap 4259.732 3759.942 4009.860 1-22.452 -4.491873 12NaN 514.660 False 672423420 48 3 NaN 3987.408 50
17 tap 8769.866 8269.630 8519.508 1 -8.112 -1.623192 31NaN 487.772 False 676947408 48 3 NaN 8511.396 53
28 tap 14275.570 13770.170 14020.380 1-60.768-12.143400 54NaN 496.168 False 682395624 48 3 NaN 13959.612 55
49 tap 24779.726 24279.900 24529.784 1 42.664 8.536761 98NaN 576.992 False 693008460 48 3 NaN 24572.448 47
67 tap 33799.908 33299.854 33550.000 1-42.352 -8.465456 134NaN 511.516 False 701943660 48 3 NaN 33507.648 56
75 tap 37799.752 37300.034 37549.808 1 8.440 1.689527 152NaN 552.828 False 705994260 48 3 NaN 37558.248 51
79 tap 39799.738 39299.886 39549.756 1-75.872-15.182295 160NaN 429.068 False 707909896 48 3 NaN 39473.884 54
80 tap 40289.684 39799.738 40049.720 1-58.344-11.669640 163NaN 517.492 False 708427388 48 3 NaN 39991.376 51
129tap 64809.708 64310.216 64559.912 1-20.848 -4.174676 262NaN 480.188 False 732975076 48 3 NaN 64539.064 48
\n", "
" ], "text/plain": [ " beat_end beat_start beat_target channel dev \\\n", "pid beat stamp \n", "094 8 tap 4259.732 3759.942 4009.860 1 -22.452 \n", " 17 tap 8769.866 8269.630 8519.508 1 -8.112 \n", " 28 tap 14275.570 13770.170 14020.380 1 -60.768 \n", " 49 tap 24779.726 24279.900 24529.784 1 42.664 \n", " 67 tap 33799.908 33299.854 33550.000 1 -42.352 \n", " 75 tap 37799.752 37300.034 37549.808 1 8.440 \n", " 79 tap 39799.738 39299.886 39549.756 1 -75.872 \n", " 80 tap 40289.684 39799.738 40049.720 1 -58.344 \n", " 129 tap 64809.708 64310.216 64559.912 1 -20.848 \n", "\n", " dev_perc i interval ints is_failure micros \\\n", "pid beat stamp \n", "094 8 tap -4.491873 12 NaN 514.660 False 672423420 \n", " 17 tap -1.623192 31 NaN 487.772 False 676947408 \n", " 28 tap -12.143400 54 NaN 496.168 False 682395624 \n", " 49 tap 8.536761 98 NaN 576.992 False 693008460 \n", " 67 tap -8.465456 134 NaN 511.516 False 701943660 \n", " 75 tap 1.689527 152 NaN 552.828 False 705994260 \n", " 79 tap -15.182295 160 NaN 429.068 False 707909896 \n", " 80 tap -11.669640 163 NaN 517.492 False 708427388 \n", " 129 tap -4.174676 262 NaN 480.188 False 732975076 \n", "\n", " pitch selection_case target_spiked task_ms velocity \n", "pid beat stamp \n", "094 8 tap 48 3 NaN 3987.408 50 \n", " 17 tap 48 3 NaN 8511.396 53 \n", " 28 tap 48 3 NaN 13959.612 55 \n", " 49 tap 48 3 NaN 24572.448 47 \n", " 67 tap 48 3 NaN 33507.648 56 \n", " 75 tap 48 3 NaN 37558.248 51 \n", " 79 tap 48 3 NaN 39473.884 54 \n", " 80 tap 48 3 NaN 39991.376 51 \n", " 129 tap 48 3 NaN 64539.064 48 " ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pprint(list(enumerate(task_frames.keys())))\n", "\n", "df = task_frames[task_frames.keys()[6]]\n", "\n", "df[df.selection_case > 1]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": [ "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\n", "gg==\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "testvals = task_frames[task].dev_perc\n", "\n", "inverted = 1 / testvals\n", "\n", "testvals.xs('099').xs('tap', level='stamp').plot()" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "['T1_SMS_5',\n", " 'Jits_Phase_5',\n", " 'Ticks_Phase_5',\n", " 'Jits_Phase_8',\n", " 'Ticks_Phase_8',\n", " 'T1_SMS_8',\n", " 'Jits_Linear_8',\n", " 'Ticks_Linear_8',\n", " 'Ticks_ISO_T2_5',\n", " 'Jits_ISO_5',\n", " 'Jits_ISO_8',\n", " 'Ticks_Linear_5',\n", " 'Jits_Linear_5',\n", " 'Ticks_ISO_T2_8']" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "db_sms.keys()" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " beat_end beat_start beat_target channel i interval \\\n", "beat stamp \n", "0 btarget 409.906 0.000 0.000 NaN 0 NaN \n", "1 btarget 1229.910 409.906 819.812 NaN 1 819.812 \n", "2 btarget 2050.125 1229.910 1640.008 NaN 2 820.196 \n", " tap 2050.125 1229.910 1640.008 1 1 NaN \n", "3 btarget 2870.355 2050.125 2460.242 NaN 3 820.234 \n", " tap 2870.355 2050.125 2460.242 1 2 NaN \n", "4 btarget 3688.027 2870.355 3280.468 NaN 4 820.226 \n", " tap 3688.027 2870.355 3280.468 1 2 NaN \n", "5 btarget 4500.576 3688.027 4095.586 NaN 5 815.118 \n", " tap 4500.576 3688.027 4095.586 1 0 NaN \n", "6 btarget 5310.559 4500.576 4905.566 NaN 6 809.980 \n", " tap 5310.559 4500.576 4905.566 1 1 NaN \n", "7 btarget 6120.554 5310.559 5715.552 NaN 7 809.986 \n", " tap 6120.554 5310.559 5715.552 1 0 NaN \n", "8 btarget 6930.545 6120.554 6525.556 NaN 8 810.004 \n", " tap 6930.545 6120.554 6525.556 1 0 NaN \n", "9 btarget 7737.963 6930.545 7335.534 NaN 9 809.978 \n", " tap 7737.963 6930.545 7335.534 1 0 NaN \n", " tap 7737.963 6930.545 7335.534 1 3 NaN \n", "10 btarget 8540.263 7737.963 8140.392 NaN 10 804.858 \n", " tap 8540.263 7737.963 8140.392 1 0 NaN \n", " tap 8540.263 7737.963 8140.392 1 2 NaN \n", "11 btarget 9340.014 8540.263 8940.134 NaN 11 799.742 \n", " tap 9340.014 8540.263 8940.134 1 1 NaN \n", "12 btarget 10140.021 9340.014 9739.894 NaN 12 799.760 \n", " tap 10140.021 9340.014 9739.894 1 1 NaN \n", "13 btarget 10940.267 10140.021 10540.148 NaN 13 800.254 \n", " tap 10940.267 10140.021 10540.148 1 1 NaN \n", "14 btarget 11737.695 10940.267 11340.386 NaN 14 800.238 \n", " tap 11737.695 10940.267 11340.386 1 1 NaN \n", "... ... ... ... ... ... ... \n", "154 btarget 103457.392 102940.008 103199.862 NaN 154 519.708 \n", "155 btarget 103969.882 103457.392 103714.922 NaN 155 515.060 \n", " tap 103969.882 103457.392 103714.922 1 2 NaN \n", "156 btarget 104479.817 103969.882 104224.842 NaN 156 509.920 \n", " tap 104479.817 103969.882 104224.842 1 3 NaN \n", "157 btarget 104989.768 104479.817 104734.792 NaN 157 509.950 \n", " tap 104989.768 104479.817 104734.792 1 3 NaN \n", "158 btarget 105499.723 104989.768 105244.744 NaN 158 509.952 \n", " tap 105499.723 104989.768 105244.744 1 3 NaN \n", "159 btarget 106007.377 105499.723 105754.702 NaN 159 509.958 \n", " tap 106007.377 105499.723 105754.702 1 3 NaN \n", "160 btarget 106510.178 106007.377 106260.052 NaN 160 505.350 \n", " tap 106510.178 106007.377 106260.052 1 3 NaN \n", "161 btarget 107010.161 106510.178 106760.304 NaN 161 500.252 \n", "162 btarget 107510.116 107010.161 107260.018 NaN 162 499.714 \n", " tap 107510.116 107010.161 107260.018 1 0 NaN \n", "163 btarget 108010.332 107510.116 107760.214 NaN 163 500.196 \n", " tap 108010.332 107510.116 107760.214 1 0 NaN \n", "164 btarget 108507.760 108010.332 108260.450 NaN 164 500.236 \n", " tap 108507.760 108010.332 108260.450 1 0 NaN \n", "165 btarget 109000.062 108507.760 108755.070 NaN 165 494.620 \n", " tap 109000.062 108507.760 108755.070 1 2 NaN \n", "166 btarget 109490.045 109000.062 109245.054 NaN 166 489.984 \n", " tap 109490.045 109000.062 109245.054 1 2 NaN \n", "167 btarget 109980.031 109490.045 109735.036 NaN 167 489.982 \n", " tap 109980.031 109490.045 109735.036 1 3 NaN \n", "168 btarget 110470.006 109980.031 110225.026 NaN 168 489.990 \n", " tap 110470.006 109980.031 110225.026 1 3 NaN \n", "169 btarget 111204.946 110470.006 110714.986 NaN 169 489.960 \n", " tap 111204.946 110470.006 110714.986 1 3 NaN \n", "\n", " micros pitch target_spiked task_ms velocity dev \\\n", "beat stamp \n", "0 btarget NaN NaN False 0.000 NaN 0.000 \n", "1 btarget 1737800632 NaN False 819.812 NaN 0.000 \n", "2 btarget 1738620828 NaN False 1640.008 NaN 0.000 \n", " tap 1738640856 48 NaN 1660.036 27 20.028 \n", "3 btarget 1739441062 NaN False 2460.242 NaN 0.000 \n", " tap 1739418136 48 NaN 2437.316 31 -22.926 \n", "4 btarget 1740261288 NaN False 3280.468 NaN 0.000 \n", " tap 1740222052 48 NaN 3241.232 32 -39.236 \n", "5 btarget 1741076406 NaN False 4095.586 NaN 0.000 \n", " tap 1740999368 48 NaN 4018.548 28 -77.038 \n", "6 btarget 1741886386 NaN False 4905.566 NaN 0.000 \n", " tap 1741854660 48 NaN 4873.840 25 -31.726 \n", "7 btarget 1742696372 NaN False 5715.552 NaN 0.000 \n", " tap 1742630752 48 NaN 5649.932 23 -65.620 \n", "8 btarget 1743506376 NaN False 6525.556 NaN 0.000 \n", " tap 1743470600 48 NaN 6489.780 26 -35.776 \n", "9 btarget 1744316354 NaN False 7335.534 NaN 0.000 \n", " tap 1744233932 48 NaN 7253.112 37 -82.422 \n", " tap 1744338788 48 NaN 7357.968 16 22.434 \n", "10 btarget 1745121212 NaN False 8140.392 NaN 0.000 \n", " tap 1745063840 48 NaN 8083.020 30 -57.372 \n", " tap 1745137320 48 NaN 8156.500 17 16.108 \n", "11 btarget 1745920954 NaN False 8940.134 NaN 0.000 \n", " tap 1745900000 48 NaN 8919.180 21 -20.954 \n", "12 btarget 1746720714 NaN False 9739.894 NaN 0.000 \n", " tap 1746704856 48 NaN 9724.036 22 -15.858 \n", "13 btarget 1747520968 NaN False 10540.148 NaN 0.000 \n", " tap 1747509016 48 NaN 10528.196 34 -11.952 \n", "14 btarget 1748321206 NaN False 11340.386 NaN 0.000 \n", " tap 1748302228 48 NaN 11321.408 26 -18.978 \n", "... ... ... ... ... ... ... \n", "154 btarget 1840180682 NaN False 103199.862 NaN 0.000 \n", "155 btarget 1840695742 NaN False 103714.922 NaN 0.000 \n", " tap 1840705628 48 NaN 103724.808 35 9.886 \n", "156 btarget 1841205662 NaN False 104224.842 NaN 0.000 \n", " tap 1841289988 48 NaN 104309.168 31 84.326 \n", "157 btarget 1841715612 NaN False 104734.792 NaN 0.000 \n", " tap 1841853568 48 NaN 104872.748 27 137.956 \n", "158 btarget 1842225564 NaN False 105244.744 NaN 0.000 \n", " tap 1842417592 48 NaN 105436.772 32 192.028 \n", "159 btarget 1842735522 NaN False 105754.702 NaN 0.000 \n", " tap 1842904108 48 NaN 105923.288 24 168.586 \n", "160 btarget 1843240872 NaN False 106260.052 NaN 0.000 \n", " tap 1843452056 48 NaN 106471.236 22 211.184 \n", "161 btarget 1843741124 NaN False 106760.304 NaN 0.000 \n", "162 btarget 1844240838 NaN False 107260.018 NaN 0.000 \n", " tap 1844003596 48 NaN 107022.776 24 -237.242 \n", "163 btarget 1844741034 NaN False 107760.214 NaN 0.000 \n", " tap 1844585468 48 NaN 107604.648 21 -155.566 \n", "164 btarget 1845241270 NaN False 108260.450 NaN 0.000 \n", " tap 1845185840 48 NaN 108205.020 27 -55.430 \n", "165 btarget 1845735890 NaN False 108755.070 NaN 0.000 \n", " tap 1845752364 48 NaN 108771.544 32 16.474 \n", "166 btarget 1846225874 NaN False 109245.054 NaN 0.000 \n", " tap 1846278584 48 NaN 109297.764 20 52.710 \n", "167 btarget 1846715856 NaN False 109735.036 NaN 0.000 \n", " tap 1846810572 48 NaN 109829.752 28 94.716 \n", "168 btarget 1847205846 NaN False 110225.026 NaN 0.000 \n", " tap 1847379492 48 NaN 110398.672 18 173.646 \n", "169 btarget 1847695806 NaN False 110714.986 NaN 0.000 \n", " tap 1847862772 48 NaN 110881.952 19 166.966 \n", "\n", " dev_perc \n", "beat stamp \n", "0 btarget NaN \n", "1 btarget 0.000000 \n", "2 btarget 0.000000 \n", " tap 2.441855 \n", "3 btarget 0.000000 \n", " tap -2.795056 \n", "4 btarget 0.000000 \n", " tap -4.783560 \n", "5 btarget 0.000000 \n", " tap -9.451147 \n", "6 btarget 0.000000 \n", " tap -3.916887 \n", "7 btarget 0.000000 \n", " tap -8.101375 \n", "8 btarget 0.000000 \n", " tap -4.416768 \n", "9 btarget 0.000000 \n", " tap -10.175832 \n", " tap 2.769705 \n", "10 btarget 0.000000 \n", " tap -7.128214 \n", " tap 2.001347 \n", "11 btarget 0.000000 \n", " tap -2.620095 \n", "12 btarget 0.000000 \n", " tap -1.982845 \n", "13 btarget 0.000000 \n", " tap -1.493526 \n", "14 btarget 0.000000 \n", " tap -2.371544 \n", "... ... \n", "154 btarget 0.000000 \n", "155 btarget 0.000000 \n", " tap 1.919388 \n", "156 btarget 0.000000 \n", " tap 16.537104 \n", "157 btarget 0.000000 \n", " tap 27.052848 \n", "158 btarget 0.000000 \n", " tap 37.656093 \n", "159 btarget 0.000000 \n", " tap 33.058801 \n", "160 btarget 0.000000 \n", " tap 41.789651 \n", "161 btarget 0.000000 \n", "162 btarget 0.000000 \n", " tap -47.475556 \n", "163 btarget 0.000000 \n", " tap -31.101008 \n", "164 btarget 0.000000 \n", " tap -11.080770 \n", "165 btarget 0.000000 \n", " tap 3.330638 \n", "166 btarget 0.000000 \n", " tap 10.757494 \n", "167 btarget 0.000000 \n", " tap 19.330506 \n", "168 btarget 0.000000 \n", " tap 35.438682 \n", "169 btarget 0.000000 \n", " tap 34.077476 \n", "\n", "[336 rows x 13 columns]\n", "beat stamp \n", "0 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "1 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "29 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "52 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "104 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "126 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "154 btarget NaN\n", "dtype: float64\n", "beat stamp \n", "161 btarget NaN\n", "dtype: float64\n" ] } ], "source": [ "#For testing\n", "\n", "taskname = 'Jits_Linear_8'\n", "pid = '095'\n", "\n", "\n", "task_data = db_sms[taskname]\n", "task_params = sms_params[taskname]\n", "participant_data = task_data.xs(pid, level='pid')\n", "\n", "output = sms_task_processing(participant_data, \n", " sms_params[taskname])\n", "\n", "#filtered = filter_taps(...) #moved to part 4 notebook\n", "#filtered[filtered.is_outlier]\n", "\n", "#plt.xlim(90, 100)\n", "#plt.ylim(0.5,1.5)\n", "#filtered.ints.plot(figsize=(12,6))\n", "#plt.show()" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
beat_endbeat_startbeat_targetchanneldevdev_perciintervalintsis_failureis_outliermicrosoutlier_metricpitchtarget_spikedtask_msvelocity
beatstamp
0 target 409.906 0.000 0.000NaN 0.000 NaN 0 NaN NaN NaN NaN NaN NaNNaN False 0.000NaN
1 target 1229.910 409.906 819.812NaN 0.000 0.000000 1 819.812 NaN NaN NaN 1737800632 NaNNaN False 819.812NaN
2 target 2050.125 1229.910 1640.008NaN 0.000 0.000000 2 820.196 NaN NaN NaN 1738620828 NaNNaN False 1640.008NaN
3 target 2870.355 2050.125 2460.242NaN 0.000 0.000000 3 820.234 NaN NaN NaN 1739441062 NaNNaN False 2460.242NaN
4 target 3688.027 2870.355 3280.468NaN 0.000 0.000000 4 820.226 NaN NaN NaN 1740261288 NaNNaN False 3280.468NaN
5 target 4500.576 3688.027 4095.586NaN 0.000 0.000000 5 815.118 NaN NaN NaN 1741076406 NaNNaN False 4095.586NaN
6 target 5310.559 4500.576 4905.566NaN 0.000 0.000000 6 809.980 NaN NaN NaN 1741886386 NaNNaN False 4905.566NaN
7 target 6120.554 5310.559 5715.552NaN 0.000 0.000000 7 809.986 NaN NaN NaN 1742696372 NaNNaN False 5715.552NaN
8 target 6930.545 6120.554 6525.556NaN 0.000 0.000000 8 810.004 NaN NaN NaN 1743506376 NaNNaN False 6525.556NaN
9 tap 7737.963 6930.545 7335.534 1 -82.422-10.175832 0 NaN 763.332 False False 1744233932 -4.166107 48 NaN 7253.112 37
target 7737.963 6930.545 7335.534NaN 0.000 0.000000 9 809.978 NaN NaN NaN 1744316354 NaNNaN False 7335.534NaN
10 tap 8540.263 7737.963 8140.392 1 -57.372 -7.128214 0 NaN 829.908 False False 1745063840 -2.918376 48 NaN 8083.020 30
target 8540.263 7737.963 8140.392NaN 0.000 0.000000 10 804.858 NaN NaN NaN 1745121212 NaNNaN False 8140.392NaN
11 tap 9340.014 8540.263 8940.134 1 -20.954 -2.620095 1 NaN 836.160 False False 1745900000 -1.072698 48 NaN 8919.180 21
target 9340.014 8540.263 8940.134NaN 0.000 0.000000 11 799.742 NaN NaN NaN 1745920954 NaNNaN False 8940.134NaN
12 tap 10140.021 9340.014 9739.894 1 -15.858 -1.982845 1 NaN 804.856 False False 1746704856 -0.811800 48 NaN 9724.036 22
target 10140.021 9340.014 9739.894NaN 0.000 0.000000 12 799.760 NaN NaN NaN 1746720714 NaNNaN False 9739.894NaN
13 tap 10940.267 10140.021 10540.148 1 -11.952 -1.493526 1 NaN 804.160 False False 1747509016 -0.611467 48 NaN 10528.196 34
target 10940.267 10140.021 10540.148NaN 0.000 0.000000 13 800.254 NaN NaN NaN 1747520968 NaNNaN False 10540.148NaN
14 tap 11737.695 10940.267 11340.386 1 -18.978 -2.371544 1 NaN 793.212 False False 1748302228 -0.970939 48 NaN 11321.408 26
target 11737.695 10940.267 11340.386NaN 0.000 0.000000 14 800.238 NaN NaN NaN 1748321206 NaNNaN False 11340.386NaN
15 tap 12530.014 11737.695 12135.004 1 10.432 1.312832 1 NaN 824.028 False False 1749126256 0.537489 48 NaN 12145.436 32
target 12530.014 11737.695 12135.004NaN 0.000 0.000000 15 794.618 NaN NaN NaN 1749115824 NaNNaN False 12135.004NaN
16 tap 13320.039 12530.014 12925.024 1 54.028 6.838814 3 NaN 833.616 False False 1749959872 2.799892 48 NaN 12979.052 32
target 13320.039 12530.014 12925.024NaN 0.000 0.000000 16 790.020 NaN NaN NaN 1749905844 NaNNaN False 12925.024NaN
17 tap 14110.068 13320.039 13715.054 1 25.990 3.289748 1 NaN 761.992 False False 1750721864 1.346862 48 NaN 13741.044 19
target 14110.068 13320.039 13715.054NaN 0.000 0.000000 17 790.030 NaN NaN NaN 1750695874 NaNNaN False 13715.054NaN
18 tap 14900.094 14110.068 14505.082 1 101.750 12.879290 3 NaN 865.788 False False 1751587652 5.272936 48 NaN 14606.832 28
target 14900.094 14110.068 14505.082NaN 0.000 0.000000 18 790.028 NaN NaN NaN 1751485902 NaNNaN False 14505.082NaN
19 tap 15687.552 14900.094 15295.106 1 78.094 9.885016 3 NaN 766.368 False False 1752354020 4.047044 48 NaN 15373.200 19
.........................................................
155tap 103969.882 103457.392 103714.922 1 9.886 1.919388 2 NaN NaN False False 1840705628 0.785820 48 NaN 103724.808 35
target 103969.882 103457.392 103714.922NaN 0.000 0.000000 155 515.060 NaN NaN NaN 1840695742 NaNNaN False 103714.922NaN
156tap 104479.817 103969.882 104224.842 1 84.326 16.537104 3 NaN 584.360 False False 1841289988 6.770488 48 NaN 104309.168 31
target 104479.817 103969.882 104224.842NaN 0.000 0.000000 156 509.920 NaN NaN NaN 1841205662 NaNNaN False 104224.842NaN
157tap 104989.768 104479.817 104734.792 1 137.956 27.052848 3 NaN 563.580 False False 1841853568 11.075760 48 NaN 104872.748 27
target 104989.768 104479.817 104734.792NaN 0.000 0.000000 157 509.950 NaN NaN NaN 1841715612 NaNNaN False 104734.792NaN
158tap 105499.723 104989.768 105244.744 1 192.028 37.656093 3 NaN 564.024 False True 1842417592 15.416855 48 NaN 105436.772 32
target 105499.723 104989.768 105244.744NaN 0.000 0.000000 158 509.952 NaN NaN NaN 1842225564 NaNNaN False 105244.744NaN
159tap 106007.377 105499.723 105754.702 1 168.586 33.058801 3 NaN 486.516 False True 1842904108 13.534669 48 NaN 105923.288 24
target 106007.377 105499.723 105754.702NaN 0.000 0.000000 159 509.958 NaN NaN NaN 1842735522 NaNNaN False 105754.702NaN
160tap 106510.178 106007.377 106260.052 1 211.184 41.789651 3 NaN 547.948 False True 1843452056 17.109183 48 NaN 106471.236 22
target 106510.178 106007.377 106260.052NaN 0.000 0.000000 160 505.350 NaN NaN NaN 1843240872 NaNNaN False 106260.052NaN
161tap NaN NaN NaNNaN NaN NaN NaN NaN NaN True False NaN NaNNaN NaN NaNNaN
target 107010.161 106510.178 106760.304NaN 0.000 0.000000 161 500.252 NaN NaN NaN 1843741124 NaNNaN False 106760.304NaN
162tap 107510.116 107010.161 107260.018 1-237.242-47.475556 0 NaN NaN False True 1844003596-19.437061 48 NaN 107022.776 24
target 107510.116 107010.161 107260.018NaN 0.000 0.000000 162 499.714 NaN NaN NaN 1844240838 NaNNaN False 107260.018NaN
163tap 108010.332 107510.116 107760.214 1-155.566-31.101008 0 NaN 581.872 False True 1844585468-12.733125 48 NaN 107604.648 21
target 108010.332 107510.116 107760.214NaN 0.000 0.000000 163 500.196 NaN NaN NaN 1844741034 NaNNaN False 107760.214NaN
164tap 108507.760 108010.332 108260.450 1 -55.430-11.080770 0 NaN 600.372 False False 1845185840 -4.536600 48 NaN 108205.020 27
target 108507.760 108010.332 108260.450NaN 0.000 0.000000 164 500.236 NaN NaN NaN 1845241270 NaNNaN False 108260.450NaN
165tap 109000.062 108507.760 108755.070 1 16.474 3.330638 2 NaN 566.524 False False 1845752364 1.363603 48 NaN 108771.544 32
target 109000.062 108507.760 108755.070NaN 0.000 0.000000 165 494.620 NaN NaN NaN 1845735890 NaNNaN False 108755.070NaN
166tap 109490.045 109000.062 109245.054 1 52.710 10.757494 2 NaN 526.220 False False 1846278584 4.404247 48 NaN 109297.764 20
target 109490.045 109000.062 109245.054NaN 0.000 0.000000 166 489.984 NaN NaN NaN 1846225874 NaNNaN False 109245.054NaN
167tap 109980.031 109490.045 109735.036 1 94.716 19.330506 3 NaN 531.988 False False 1846810572 7.914141 48 NaN 109829.752 28
target 109980.031 109490.045 109735.036NaN 0.000 0.000000 167 489.982 NaN NaN NaN 1846715856 NaNNaN False 109735.036NaN
168tap 110470.006 109980.031 110225.026 1 173.646 35.438682 3 NaN 568.920 False True 1847379492 14.509021 48 NaN 110398.672 18
target 110470.006 109980.031 110225.026NaN 0.000 0.000000 168 489.990 NaN NaN NaN 1847205846 NaNNaN False 110225.026NaN
169tap 111204.946 110470.006 110714.986 1 166.966 34.077476 3 NaN 483.280 False True 1847862772 13.951726 48 NaN 110881.952 19
target 111204.946 110470.006 110714.986NaN 0.000 0.000000 169 489.960 NaN NaN NaN 1847695806 NaNNaN False 110714.986NaN
\n", "

331 rows × 17 columns

\n", "
" ], "text/plain": [ " beat_end beat_start beat_target channel dev dev_perc \\\n", "beat stamp \n", "0 target 409.906 0.000 0.000 NaN 0.000 NaN \n", "1 target 1229.910 409.906 819.812 NaN 0.000 0.000000 \n", "2 target 2050.125 1229.910 1640.008 NaN 0.000 0.000000 \n", "3 target 2870.355 2050.125 2460.242 NaN 0.000 0.000000 \n", "4 target 3688.027 2870.355 3280.468 NaN 0.000 0.000000 \n", "5 target 4500.576 3688.027 4095.586 NaN 0.000 0.000000 \n", "6 target 5310.559 4500.576 4905.566 NaN 0.000 0.000000 \n", "7 target 6120.554 5310.559 5715.552 NaN 0.000 0.000000 \n", "8 target 6930.545 6120.554 6525.556 NaN 0.000 0.000000 \n", "9 tap 7737.963 6930.545 7335.534 1 -82.422 -10.175832 \n", " target 7737.963 6930.545 7335.534 NaN 0.000 0.000000 \n", "10 tap 8540.263 7737.963 8140.392 1 -57.372 -7.128214 \n", " target 8540.263 7737.963 8140.392 NaN 0.000 0.000000 \n", "11 tap 9340.014 8540.263 8940.134 1 -20.954 -2.620095 \n", " target 9340.014 8540.263 8940.134 NaN 0.000 0.000000 \n", "12 tap 10140.021 9340.014 9739.894 1 -15.858 -1.982845 \n", " target 10140.021 9340.014 9739.894 NaN 0.000 0.000000 \n", "13 tap 10940.267 10140.021 10540.148 1 -11.952 -1.493526 \n", " target 10940.267 10140.021 10540.148 NaN 0.000 0.000000 \n", "14 tap 11737.695 10940.267 11340.386 1 -18.978 -2.371544 \n", " target 11737.695 10940.267 11340.386 NaN 0.000 0.000000 \n", "15 tap 12530.014 11737.695 12135.004 1 10.432 1.312832 \n", " target 12530.014 11737.695 12135.004 NaN 0.000 0.000000 \n", "16 tap 13320.039 12530.014 12925.024 1 54.028 6.838814 \n", " target 13320.039 12530.014 12925.024 NaN 0.000 0.000000 \n", "17 tap 14110.068 13320.039 13715.054 1 25.990 3.289748 \n", " target 14110.068 13320.039 13715.054 NaN 0.000 0.000000 \n", "18 tap 14900.094 14110.068 14505.082 1 101.750 12.879290 \n", " target 14900.094 14110.068 14505.082 NaN 0.000 0.000000 \n", "19 tap 15687.552 14900.094 15295.106 1 78.094 9.885016 \n", "... ... ... ... ... ... ... \n", "155 tap 103969.882 103457.392 103714.922 1 9.886 1.919388 \n", " target 103969.882 103457.392 103714.922 NaN 0.000 0.000000 \n", "156 tap 104479.817 103969.882 104224.842 1 84.326 16.537104 \n", " target 104479.817 103969.882 104224.842 NaN 0.000 0.000000 \n", "157 tap 104989.768 104479.817 104734.792 1 137.956 27.052848 \n", " target 104989.768 104479.817 104734.792 NaN 0.000 0.000000 \n", "158 tap 105499.723 104989.768 105244.744 1 192.028 37.656093 \n", " target 105499.723 104989.768 105244.744 NaN 0.000 0.000000 \n", "159 tap 106007.377 105499.723 105754.702 1 168.586 33.058801 \n", " target 106007.377 105499.723 105754.702 NaN 0.000 0.000000 \n", "160 tap 106510.178 106007.377 106260.052 1 211.184 41.789651 \n", " target 106510.178 106007.377 106260.052 NaN 0.000 0.000000 \n", "161 tap NaN NaN NaN NaN NaN NaN \n", " target 107010.161 106510.178 106760.304 NaN 0.000 0.000000 \n", "162 tap 107510.116 107010.161 107260.018 1 -237.242 -47.475556 \n", " target 107510.116 107010.161 107260.018 NaN 0.000 0.000000 \n", "163 tap 108010.332 107510.116 107760.214 1 -155.566 -31.101008 \n", " target 108010.332 107510.116 107760.214 NaN 0.000 0.000000 \n", "164 tap 108507.760 108010.332 108260.450 1 -55.430 -11.080770 \n", " target 108507.760 108010.332 108260.450 NaN 0.000 0.000000 \n", "165 tap 109000.062 108507.760 108755.070 1 16.474 3.330638 \n", " target 109000.062 108507.760 108755.070 NaN 0.000 0.000000 \n", "166 tap 109490.045 109000.062 109245.054 1 52.710 10.757494 \n", " target 109490.045 109000.062 109245.054 NaN 0.000 0.000000 \n", "167 tap 109980.031 109490.045 109735.036 1 94.716 19.330506 \n", " target 109980.031 109490.045 109735.036 NaN 0.000 0.000000 \n", "168 tap 110470.006 109980.031 110225.026 1 173.646 35.438682 \n", " target 110470.006 109980.031 110225.026 NaN 0.000 0.000000 \n", "169 tap 111204.946 110470.006 110714.986 1 166.966 34.077476 \n", " target 111204.946 110470.006 110714.986 NaN 0.000 0.000000 \n", "\n", " i interval ints is_failure is_outlier micros \\\n", "beat stamp \n", "0 target 0 NaN NaN NaN NaN NaN \n", "1 target 1 819.812 NaN NaN NaN 1737800632 \n", "2 target 2 820.196 NaN NaN NaN 1738620828 \n", "3 target 3 820.234 NaN NaN NaN 1739441062 \n", "4 target 4 820.226 NaN NaN NaN 1740261288 \n", "5 target 5 815.118 NaN NaN NaN 1741076406 \n", "6 target 6 809.980 NaN NaN NaN 1741886386 \n", "7 target 7 809.986 NaN NaN NaN 1742696372 \n", "8 target 8 810.004 NaN NaN NaN 1743506376 \n", "9 tap 0 NaN 763.332 False False 1744233932 \n", " target 9 809.978 NaN NaN NaN 1744316354 \n", "10 tap 0 NaN 829.908 False False 1745063840 \n", " target 10 804.858 NaN NaN NaN 1745121212 \n", "11 tap 1 NaN 836.160 False False 1745900000 \n", " target 11 799.742 NaN NaN NaN 1745920954 \n", "12 tap 1 NaN 804.856 False False 1746704856 \n", " target 12 799.760 NaN NaN NaN 1746720714 \n", "13 tap 1 NaN 804.160 False False 1747509016 \n", " target 13 800.254 NaN NaN NaN 1747520968 \n", "14 tap 1 NaN 793.212 False False 1748302228 \n", " target 14 800.238 NaN NaN NaN 1748321206 \n", "15 tap 1 NaN 824.028 False False 1749126256 \n", " target 15 794.618 NaN NaN NaN 1749115824 \n", "16 tap 3 NaN 833.616 False False 1749959872 \n", " target 16 790.020 NaN NaN NaN 1749905844 \n", "17 tap 1 NaN 761.992 False False 1750721864 \n", " target 17 790.030 NaN NaN NaN 1750695874 \n", "18 tap 3 NaN 865.788 False False 1751587652 \n", " target 18 790.028 NaN NaN NaN 1751485902 \n", "19 tap 3 NaN 766.368 False False 1752354020 \n", "... ... ... ... ... ... ... \n", "155 tap 2 NaN NaN False False 1840705628 \n", " target 155 515.060 NaN NaN NaN 1840695742 \n", "156 tap 3 NaN 584.360 False False 1841289988 \n", " target 156 509.920 NaN NaN NaN 1841205662 \n", "157 tap 3 NaN 563.580 False False 1841853568 \n", " target 157 509.950 NaN NaN NaN 1841715612 \n", "158 tap 3 NaN 564.024 False True 1842417592 \n", " target 158 509.952 NaN NaN NaN 1842225564 \n", "159 tap 3 NaN 486.516 False True 1842904108 \n", " target 159 509.958 NaN NaN NaN 1842735522 \n", "160 tap 3 NaN 547.948 False True 1843452056 \n", " target 160 505.350 NaN NaN NaN 1843240872 \n", "161 tap NaN NaN NaN True False NaN \n", " target 161 500.252 NaN NaN NaN 1843741124 \n", "162 tap 0 NaN NaN False True 1844003596 \n", " target 162 499.714 NaN NaN NaN 1844240838 \n", "163 tap 0 NaN 581.872 False True 1844585468 \n", " target 163 500.196 NaN NaN NaN 1844741034 \n", "164 tap 0 NaN 600.372 False False 1845185840 \n", " target 164 500.236 NaN NaN NaN 1845241270 \n", "165 tap 2 NaN 566.524 False False 1845752364 \n", " target 165 494.620 NaN NaN NaN 1845735890 \n", "166 tap 2 NaN 526.220 False False 1846278584 \n", " target 166 489.984 NaN NaN NaN 1846225874 \n", "167 tap 3 NaN 531.988 False False 1846810572 \n", " target 167 489.982 NaN NaN NaN 1846715856 \n", "168 tap 3 NaN 568.920 False True 1847379492 \n", " target 168 489.990 NaN NaN NaN 1847205846 \n", "169 tap 3 NaN 483.280 False True 1847862772 \n", " target 169 489.960 NaN NaN NaN 1847695806 \n", "\n", " outlier_metric pitch target_spiked task_ms velocity \n", "beat stamp \n", "0 target NaN NaN False 0.000 NaN \n", "1 target NaN NaN False 819.812 NaN \n", "2 target NaN NaN False 1640.008 NaN \n", "3 target NaN NaN False 2460.242 NaN \n", "4 target NaN NaN False 3280.468 NaN \n", "5 target NaN NaN False 4095.586 NaN \n", "6 target NaN NaN False 4905.566 NaN \n", "7 target NaN NaN False 5715.552 NaN \n", "8 target NaN NaN False 6525.556 NaN \n", "9 tap -4.166107 48 NaN 7253.112 37 \n", " target NaN NaN False 7335.534 NaN \n", "10 tap -2.918376 48 NaN 8083.020 30 \n", " target NaN NaN False 8140.392 NaN \n", "11 tap -1.072698 48 NaN 8919.180 21 \n", " target NaN NaN False 8940.134 NaN \n", "12 tap -0.811800 48 NaN 9724.036 22 \n", " target NaN NaN False 9739.894 NaN \n", "13 tap -0.611467 48 NaN 10528.196 34 \n", " target NaN NaN False 10540.148 NaN \n", "14 tap -0.970939 48 NaN 11321.408 26 \n", " target NaN NaN False 11340.386 NaN \n", "15 tap 0.537489 48 NaN 12145.436 32 \n", " target NaN NaN False 12135.004 NaN \n", "16 tap 2.799892 48 NaN 12979.052 32 \n", " target NaN NaN False 12925.024 NaN \n", "17 tap 1.346862 48 NaN 13741.044 19 \n", " target NaN NaN False 13715.054 NaN \n", "18 tap 5.272936 48 NaN 14606.832 28 \n", " target NaN NaN False 14505.082 NaN \n", "19 tap 4.047044 48 NaN 15373.200 19 \n", "... ... ... ... ... ... \n", "155 tap 0.785820 48 NaN 103724.808 35 \n", " target NaN NaN False 103714.922 NaN \n", "156 tap 6.770488 48 NaN 104309.168 31 \n", " target NaN NaN False 104224.842 NaN \n", "157 tap 11.075760 48 NaN 104872.748 27 \n", " target NaN NaN False 104734.792 NaN \n", "158 tap 15.416855 48 NaN 105436.772 32 \n", " target NaN NaN False 105244.744 NaN \n", "159 tap 13.534669 48 NaN 105923.288 24 \n", " target NaN NaN False 105754.702 NaN \n", "160 tap 17.109183 48 NaN 106471.236 22 \n", " target NaN NaN False 106260.052 NaN \n", "161 tap NaN NaN NaN NaN NaN \n", " target NaN NaN False 106760.304 NaN \n", "162 tap -19.437061 48 NaN 107022.776 24 \n", " target NaN NaN False 107260.018 NaN \n", "163 tap -12.733125 48 NaN 107604.648 21 \n", " target NaN NaN False 107760.214 NaN \n", "164 tap -4.536600 48 NaN 108205.020 27 \n", " target NaN NaN False 108260.450 NaN \n", "165 tap 1.363603 48 NaN 108771.544 32 \n", " target NaN NaN False 108755.070 NaN \n", "166 tap 4.404247 48 NaN 109297.764 20 \n", " target NaN NaN False 109245.054 NaN \n", "167 tap 7.914141 48 NaN 109829.752 28 \n", " target NaN NaN False 109735.036 NaN \n", "168 tap 14.509021 48 NaN 110398.672 18 \n", " target NaN NaN False 110225.026 NaN \n", "169 tap 13.951726 48 NaN 110881.952 19 \n", " target NaN NaN False 110714.986 NaN \n", "\n", "[331 rows x 17 columns]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "output" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": [ "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\n", "wIB6enoK/ncBoBpRJANAkd1zzz0pSxQXyuTkpL788suC/10AqEZFXZYaAHDD1NSUXnzxRcViMU1N\n", "TWnBggV64IEHNDAwoM7OTs2ePVuxWEyRSET33Xdf8j7/8i//omAwqHg8roaGhuTKZH19fXrttdd0\n", "5coVDQ0NSZLuv/9+LV68uGT/RgAoZ6y4BwAlsH//fv3gBz9IjigfO3ZMc+fO1W9+8xvt2rVLoVBI\n", "ktTT06NIJKLm5uYZf+O5557To48+mtzu7+/XmTNn9MADDxTjnwAAFY2RZAAoga985SspLRff+ta3\n", "1NnZqd7eXr388svJ/VNTUwoGg2pubtb169fV2dmpWCym2tpaffDBB6U4dACoChTJAFACf/jDH/TZ\n", "Z58lC+VTp06ptbVVX375pR566KHkSLJ0o9dYkl555RVt3rxZt956qyTp2rVrKX8zEAgoFosV6V8A\n", "AJWNdgsAKLJ33nlH3d3dikQiqq+v18TEhBYuXKgNGzbo2rVreu2111Rbe+O66mvXrikajer222/X\n", "mTNndPbsWYVCIU1OTur999/Xt771LW3dujX5txM9y7W1tZqYmND27dsVDDIeAgDZokgGAAAAbJgC\n", "DgAAALChSAYAAABsKJIBAAAAG4pkAAAAwIYiGQAAALChSAYAAABsKJIBAAAAm/8f4hmMTHG2d/UA\n", "AAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": [ "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\n", "6yJuMYymWxw9elT79u1zvP3000/rrrvuynvcjukWMFHpaQnVmI5QqUkRXnOblLHt1Ve176mncrbK\n", "fmrfPr3e3S3pypNNe3t75vNu7Rdtg4MKr24XbhXv7dXCkSPZX2vwb22dLNG0sCBJSrW1BW4eMwCg\n", "sjybbrGysqLm5uyujEuXLkm6snKc/jjfcaAUlZxL69jffOaMUtddV9FCqxYXmJXC7SLAOx97LKtA\n", "lqQNFy/qzlOntLRnj6Qr/cxTBrOXi2qRMOg5Tk+WqNa/JbIFeaMYAHBSsEj+9a9/rW3btmUd6+np\n", "0eHDh5VKpbJWi92OozTWt7QbUTGbdhTKyrF4nZ6WpqcztytyUaDHY9DKLVLSObm9om77u79zPH5d\n", "e7uGV7fQNt0qu6gXOUUU1NX6t2z0x59Vvotof2JpnYE77k/myMoMOXmvYJHc2dmZcywajWr//v3G\n", "x4FSVWwurVvxalGRFV+PLjCr2qSPEs7fOikjvQNguh1j8113addzz6klHlcyHNbkZz6j6ffek2Ix\n", "bXnpJe189llds26dmt5/XyvXXqvmCxcyP9e1oDb8t1z39a8r+fGP57ygYEW0eHkvov3GN2p0VgDg\n", "rYJFMmqHV4jmCmblVvzZlbni69XWxZVq4yiUk8n521s1nNov0ivNM52dOvXhD2eOh8NhxaemtO3V\n", "V3W7rfc5uXmzEjt2XGmZyLebneG/ZfPsrJpXe6LTLygkGb/Y8NPjr+aFfZ53SPyUk5+RkzmyMkNO\n", "3qNIRkNwKv4clbniW0yLSFGqNCfY5PztrRqm7RdWPSdO5PQ+t0xPK37LLQUvyjT+t7T+7PSqZypV\n", "Fz3jVr7owa7BCD4AqDWKZB+j38hcoazsxV/TwoKaL1wwe3u/SJ5sXVyhIsXkPmU///T84kquYoYS\n", "CedPGBT9Jv+WRf9sh8/55fFXtX76PPK9w+CXnPyOnMyRlRly8h5FMhqGU/FX8RVfj3i6m10eJr3Q\n", "1vYLe0+yfbe+zc8/r13PPadNMzPOv9Cw6M/3b9ny8stqdtrwpLVVcpt46ecV0Wr10+eR9x0G2xxg\n", "AAgKoznJlcacZKB49jnBOSvhHsxjruSsaqeC22p+40Y1/+//Xf4qtdOs6s5OLR08KCm3Jzn9Ob++\n", "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\n", "dXa12yr0ucFBdRv8Tr9uLAM0IqMi+c0339SLL76otWvXat++fbp48aLGxsbU0tKi3bt36/rrr5ck\n", "nT9/3vE4SkO/kTmyMkNO5gKfVYXe2q90TvYpGfYL9ewX8ll7ktOtGpKUCLn8783j1gW3QrfbsND1\n", "y8YytRT4x16FkJP3ChbJc3Nz+t3vfqcvfelLmWMnT57U/fffL0l64okndN999+U9DgDwF7/uQFdo\n", "ckWhrbLT/conenp0zdycOt59N/P5uWuu0c9vvllvx2KebpVtLXQzFw/+1V8x9xioMwWL5FOnTqm9\n", "vV2PP/64brnlFnV3d2c9kaxZsybzsdtxlIYZiObIygw5mQt6VpV6a99POVlXoZeiUY2tWaM/fPZZ\n", "hRMJxUMhTfb26pWNGyXLhX/pyRk3vfGGbpuYUCiRUCIU0ut33y2VOWqOucel8dN9ys/IyXsFi+Tp\n", "6WlJ0he/+EU9+eST2rZtm6w7WVuvPHY77sT6j5tuPud29m1rVn44Hz/fPn36tK/Oh9v1fzvNL+fj\n", "xe3EwICOri5ulPrzTp8+7Zu/Z+/evVm3Y5L+qbNTaeFwWHLoZ9726qv67NGj2nDxYubYpv/7f9Xc\n", "16eflJGP2zi4S9/8psKrRbKf7g9+ud0Iz+d7lpbUeuiQ5qentbJmja568EElBgZ8c35Bu21dxC1G\n", "U8pa2Tp47LHHNDw8rObmZp06dUp/8Ad/oBdeeEH79u2TJD399NO66667JElHjx51PG43NjamXbt2\n", "lXTCAACYsLZfSFeK5HTP8rZXX1XPiRMKJRLaND2tdQ7TJ96++WYd/cY3JJXWftE2OKjwxETO8Xhv\n", "rxaOHCnqZyE4HMcvdnVpaWSEdxg8Mjk5WVL7VKjQF3R3d+vNN9/Utm3bNDs7q+3bt+vS6pNJKpXK\n", "fCzJ9TgAAF7It2GI21bZW156ST3/+q9Z/cpOkouL5W2X7XJxZMvLL6ttcJAe5QbFzor1o2CRvHPn\n", "TsViMZ0+fVqbNm1SOBxWT0+PDh8+rFQqlbVa7HYcpRkfp9/IFFmZISdzZGWmljkV6vl1WzlqO3xY\n", "4QIFsiTF3SZkGHK6ODIVCql5dlbNqyvM9CjnCvxjr0LjFwOfkw8YPQMMDw9n3Y5Go9q/f3/O17kd\n", "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\n", "8XGdOXNGV199ta6++moyc3Hp0iV961vf0tatWzOZkJWzN998U08//bTeeOMNdXV1aWZmhpxszp07\n", "p7GxMf3yl7/U1VdfrfXr13N/WnX06FEdO3ZMW7ZsKfhYa/TMnLJyel6XGjsrp5wkntft3HKyP6e3\n", "tLQ0dE6Sc1ZOz+tSkfepVBX94Ac/yHz8/e9/v5q/ui4888wzmY+ffPLJVCpFZm6eeuqp1Isvvpj6\n", "7W9/mzlGVrlmZ2dT4+PjWcfIKdePf/zjzMc89nKdOXPG6LFGZrlZOT2vp1JkZc8pleJ53Yk9J6fn\n", "9BwWtRgAAARTSURBVFSKnFKp3KycntdTqeKyqmq7BdtW53fnnXfmHCOzXMVul97ITp06pXXr1unx\n", "xx/Xq6++KomcnCSTycxbdanVgT/k5M4tGzLL5fS8LpGVHc/rZpye0yVycuL0vC4Vl1VVi+QU21Yb\n", "OXbsmD71qU9JIjMnxW6X3simp6c1NzenL37xi3rttde0srJCTg5uueUWPfLII/rWt76lT3ziE5K4\n", "P+Xjlg2ZubM+r0tkZcfzuhmn53SJnJw4Pa9LxWVVcDORSjLdtrqRPfPMM7rxxhu1ceNGSWTmpNjt\n", "0htdeiXrwx/+sC5evEhODn7xi1/owQcf1MrKio4cOaJ7772XnPJwy4bMnNmf1yWysuN53Zz9OX3j\n", "xo3k5MDpeV0q7j5V1SLZdNvqRvXss8/q2muvVWdnZ+YYmeUqdrv0Rtbd3a0333xT27Zt0+zsrLZv\n", "305ODtJvuTU3N2dWFsjJnVs2ZJbL6XldIis7ntfNOD2nS+TkxOl5XSouq6ruuDc1NaVnnnkms231\n", "5s2bq/WrfW96elp/+7d/q5tuukmS9P777+urX/0qmbm4ePGiYrGYOjs7NTAwIIn7l5tYLKaWlhZt\n", "2rRJfX195OTglVde0dmzZyVJ27dv18c+9jFyWvX000/rzTffVGtrqzo7O3XnnXe6ZtPomdmzuumm\n", "mxyf16XGzsrpPiXxvG7nlpP9OV1q7Jwk56ycntel4rJiW2oAAADAhs1EAAAAABuKZAAAAMCGIhkA\n", "AACwoUgGAAAAbCiSAQAAABuKZAAAAMCGIhkAquyFF17Q3/zN31T85168eFETExMV/7kA0IgokgGg\n", "yj75yU9mbVFcKYlEQh988EHFfy4ANKKqbksNALhiZWVFP/jBD5RMJrWysqKNGzdqz549unjxokZH\n", "R3XVVVcpmUwqGo3q05/+dOZ7/uVf/kWhUEipVEptbW2Zncmmp6d17NgxXbhwQXNzc5KkO+64Q9de\n", "e23N/kYAqGfsuAcANXDw4EF97Wtfy6wonzhxQuvXr9fPf/5z3X///QqHw5KkiYkJRaNRdXZ25vyM\n", "xx57TF/+8pczt2dmZnTmzBnt2bOnGn8CAAQaK8kAUAMf/vCHs1ouPvGJT2h0dFTnz5/Xk08+mTm+\n", "srKiUCikzs5OXb58WaOjo0omk2pubtYbb7xRi1MHgIZAkQwANfDb3/5W77zzTqZQPnXqlLq7u/XB\n", "Bx/onnvuyawkS1d6jSXpxz/+sfbu3aurr75akrS4uJj1M1taWpRMJqv0FwBAsNFuAQBV9sILL2h8\n", "fFzRaFStra2Kx+PatGmT7rzzTi0uLurYsWNqbr5yXfXi4qJ6enp0ww036MyZMzp79qzC4bASiYRe\n", "e+01feITn9C+ffsyPzvds9zc3Kx4PK57771XoRDrIQBQLIpkAAAAwIYRcAAAAIANRTIAAABgQ5EM\n", "AAAA2FAkAwAAADYUyQAAAIANRTIAAABgQ5EMAAAA2Pw/iUCGG1RHXsoAAAAASUVORK5CYII=\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def relative_dev(output):\n", " dpercs = output.xs('tap', level='stamp').dev #_perc #.plot(figsize=(14,9))\n", " targetints = output.xs('target', level='stamp').tinterval #.plot()\n", " relative = targetints + dpercs\n", "\n", " mpl.pyplot.figure(figsize=(12,5))\n", " targetints.plot(style='.', markersize=9, color='gray')\n", " #mpl.pyplot.show()\n", " relative.plot(style='.', markersize=13, color='red')\n", " #relative.plot(style='--', linewidth=1, color='gray')\n", " \n", " return plt.show()\n", "\n", "relative_dev(output)\n", "relative_dev(output[output.is_outlier != True])" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
beat_endbeat_startbeat_targetchanneldevdev_perciintervalintsis_outliermicrosoutlier_metricpitchtarget_spikedtask_msvelocity
beatstamp
0 target 409.906 0.000 0.000NaN 0.000 NaN 0 NaN NaN NaN NaN NaNNaN False 0.000NaN
1 target 1229.910 409.906 819.812NaN 0.000 0.000000 1 819.812 NaN NaN 1737800632 NaNNaN False 819.812NaN
2 target 2050.125 1229.910 1640.008NaN 0.000 0.000000 2 820.196 NaN NaN 1738620828 NaNNaN False 1640.008NaN
3 target 2870.355 2050.125 2460.242NaN 0.000 0.000000 3 820.234 NaN NaN 1739441062 NaNNaN False 2460.242NaN
4 target 3688.027 2870.355 3280.468NaN 0.000 0.000000 4 820.226 NaN NaN 1740261288 NaNNaN False 3280.468NaN
5 target 4500.576 3688.027 4095.586NaN 0.000 0.000000 5 815.118 NaN NaN 1741076406 NaNNaN False 4095.586NaN
6 target 5310.559 4500.576 4905.566NaN 0.000 0.000000 6 809.980 NaN NaN 1741886386 NaNNaN False 4905.566NaN
7 target 6120.554 5310.559 5715.552NaN 0.000 0.000000 7 809.986 NaN NaN 1742696372 NaNNaN False 5715.552NaN
8 target 6930.545 6120.554 6525.556NaN 0.000 0.000000 8 810.004 NaN NaN 1743506376 NaNNaN False 6525.556NaN
9 tap 7737.963 6930.545 7335.534 1 -82.422-10.175832 0 NaN 763.332 False 1744233932 -4.166107 48 NaN 7253.112 37
target 7737.963 6930.545 7335.534NaN 0.000 0.000000 9 809.978 NaN NaN 1744316354 NaNNaN False 7335.534NaN
10 tap 8540.263 7737.963 8140.392 1 -57.372 -7.128214 0 NaN 829.908 False 1745063840 -2.918376 48 NaN 8083.020 30
target 8540.263 7737.963 8140.392NaN 0.000 0.000000 10 804.858 NaN NaN 1745121212 NaNNaN False 8140.392NaN
11 tap 9340.014 8540.263 8940.134 1 -20.954 -2.620095 1 NaN 836.160 False 1745900000 -1.072698 48 NaN 8919.180 21
target 9340.014 8540.263 8940.134NaN 0.000 0.000000 11 799.742 NaN NaN 1745920954 NaNNaN False 8940.134NaN
12 tap 10140.021 9340.014 9739.894 1 -15.858 -1.982845 1 NaN 804.856 False 1746704856 -0.811800 48 NaN 9724.036 22
target 10140.021 9340.014 9739.894NaN 0.000 0.000000 12 799.760 NaN NaN 1746720714 NaNNaN False 9739.894NaN
13 tap 10940.267 10140.021 10540.148 1 -11.952 -1.493526 1 NaN 804.160 False 1747509016 -0.611467 48 NaN 10528.196 34
target 10940.267 10140.021 10540.148NaN 0.000 0.000000 13 800.254 NaN NaN 1747520968 NaNNaN False 10540.148NaN
14 tap 11737.695 10940.267 11340.386 1 -18.978 -2.371544 1 NaN 793.212 False 1748302228 -0.970939 48 NaN 11321.408 26
target 11737.695 10940.267 11340.386NaN 0.000 0.000000 14 800.238 NaN NaN 1748321206 NaNNaN False 11340.386NaN
15 tap 12530.014 11737.695 12135.004 1 10.432 1.312832 1 NaN 824.028 False 1749126256 0.537489 48 NaN 12145.436 32
target 12530.014 11737.695 12135.004NaN 0.000 0.000000 15 794.618 NaN NaN 1749115824 NaNNaN False 12135.004NaN
16 tap 13320.039 12530.014 12925.024 1 54.028 6.838814 3 NaN 833.616 False 1749959872 2.799892 48 NaN 12979.052 32
target 13320.039 12530.014 12925.024NaN 0.000 0.000000 16 790.020 NaN NaN 1749905844 NaNNaN False 12925.024NaN
17 tap 14110.068 13320.039 13715.054 1 25.990 3.289748 1 NaN 761.992 False 1750721864 1.346862 48 NaN 13741.044 19
target 14110.068 13320.039 13715.054NaN 0.000 0.000000 17 790.030 NaN NaN 1750695874 NaNNaN False 13715.054NaN
18 tap 14900.094 14110.068 14505.082 1 101.750 12.879290 3 NaN 865.788 False 1751587652 5.272936 48 NaN 14606.832 28
target 14900.094 14110.068 14505.082NaN 0.000 0.000000 18 790.028 NaN NaN 1751485902 NaNNaN False 14505.082NaN
19 tap 15687.552 14900.094 15295.106 1 78.094 9.885016 3 NaN 766.368 False 1752354020 4.047044 48 NaN 15373.200 19
......................................................
155tap 103969.882 103457.392 103714.922 1 9.886 1.919388 2 NaN NaN False 1840705628 0.785820 48 NaN 103724.808 35
target 103969.882 103457.392 103714.922NaN 0.000 0.000000 155 515.060 NaN NaN 1840695742 NaNNaN False 103714.922NaN
156tap 104479.817 103969.882 104224.842 1 84.326 16.537104 3 NaN 584.360 False 1841289988 6.770488 48 NaN 104309.168 31
target 104479.817 103969.882 104224.842NaN 0.000 0.000000 156 509.920 NaN NaN 1841205662 NaNNaN False 104224.842NaN
157tap 104989.768 104479.817 104734.792 1 137.956 27.052848 3 NaN 563.580 False 1841853568 11.075760 48 NaN 104872.748 27
target 104989.768 104479.817 104734.792NaN 0.000 0.000000 157 509.950 NaN NaN 1841715612 NaNNaN False 104734.792NaN
158tap 105499.723 104989.768 105244.744 1 192.028 37.656093 3 NaN 564.024 True 1842417592 15.416855 48 NaN 105436.772 32
target 105499.723 104989.768 105244.744NaN 0.000 0.000000 158 509.952 NaN NaN 1842225564 NaNNaN False 105244.744NaN
159tap 106007.377 105499.723 105754.702 1 168.586 33.058801 3 NaN 486.516 True 1842904108 13.534669 48 NaN 105923.288 24
target 106007.377 105499.723 105754.702NaN 0.000 0.000000 159 509.958 NaN NaN 1842735522 NaNNaN False 105754.702NaN
160tap 106510.178 106007.377 106260.052 1 211.184 41.789651 3 NaN 547.948 True 1843452056 17.109183 48 NaN 106471.236 22
target 106510.178 106007.377 106260.052NaN 0.000 0.000000 160 505.350 NaN NaN 1843240872 NaNNaN False 106260.052NaN
161tap NaN NaN NaNNaN NaN NaN NaN NaN NaN False NaN NaNNaN NaN NaNNaN
target 107010.161 106510.178 106760.304NaN 0.000 0.000000 161 500.252 NaN NaN 1843741124 NaNNaN False 106760.304NaN
162tap 107510.116 107010.161 107260.018 1-237.242-47.475556 0 NaN NaN True 1844003596-19.437061 48 NaN 107022.776 24
target 107510.116 107010.161 107260.018NaN 0.000 0.000000 162 499.714 NaN NaN 1844240838 NaNNaN False 107260.018NaN
163tap 108010.332 107510.116 107760.214 1-155.566-31.101008 0 NaN 581.872 True 1844585468-12.733125 48 NaN 107604.648 21
target 108010.332 107510.116 107760.214NaN 0.000 0.000000 163 500.196 NaN NaN 1844741034 NaNNaN False 107760.214NaN
164tap 108507.760 108010.332 108260.450 1 -55.430-11.080770 0 NaN 600.372 False 1845185840 -4.536600 48 NaN 108205.020 27
target 108507.760 108010.332 108260.450NaN 0.000 0.000000 164 500.236 NaN NaN 1845241270 NaNNaN False 108260.450NaN
165tap 109000.062 108507.760 108755.070 1 16.474 3.330638 2 NaN 566.524 False 1845752364 1.363603 48 NaN 108771.544 32
target 109000.062 108507.760 108755.070NaN 0.000 0.000000 165 494.620 NaN NaN 1845735890 NaNNaN False 108755.070NaN
166tap 109490.045 109000.062 109245.054 1 52.710 10.757494 2 NaN 526.220 False 1846278584 4.404247 48 NaN 109297.764 20
target 109490.045 109000.062 109245.054NaN 0.000 0.000000 166 489.984 NaN NaN 1846225874 NaNNaN False 109245.054NaN
167tap 109980.031 109490.045 109735.036 1 94.716 19.330506 3 NaN 531.988 False 1846810572 7.914141 48 NaN 109829.752 28
target 109980.031 109490.045 109735.036NaN 0.000 0.000000 167 489.982 NaN NaN 1846715856 NaNNaN False 109735.036NaN
168tap 110470.006 109980.031 110225.026 1 173.646 35.438682 3 NaN 568.920 True 1847379492 14.509021 48 NaN 110398.672 18
target 110470.006 109980.031 110225.026NaN 0.000 0.000000 168 489.990 NaN NaN 1847205846 NaNNaN False 110225.026NaN
169tap 111204.946 110470.006 110714.986 1 166.966 34.077476 3 NaN 483.280 True 1847862772 13.951726 48 NaN 110881.952 19
target 111204.946 110470.006 110714.986NaN 0.000 0.000000 169 489.960 NaN NaN 1847695806 NaNNaN False 110714.986NaN
\n", "

331 rows × 16 columns

\n", "
" ], "text/plain": [ " beat_end beat_start beat_target channel dev dev_perc \\\n", "beat stamp \n", "0 target 409.906 0.000 0.000 NaN 0.000 NaN \n", "1 target 1229.910 409.906 819.812 NaN 0.000 0.000000 \n", "2 target 2050.125 1229.910 1640.008 NaN 0.000 0.000000 \n", "3 target 2870.355 2050.125 2460.242 NaN 0.000 0.000000 \n", "4 target 3688.027 2870.355 3280.468 NaN 0.000 0.000000 \n", "5 target 4500.576 3688.027 4095.586 NaN 0.000 0.000000 \n", "6 target 5310.559 4500.576 4905.566 NaN 0.000 0.000000 \n", "7 target 6120.554 5310.559 5715.552 NaN 0.000 0.000000 \n", "8 target 6930.545 6120.554 6525.556 NaN 0.000 0.000000 \n", "9 tap 7737.963 6930.545 7335.534 1 -82.422 -10.175832 \n", " target 7737.963 6930.545 7335.534 NaN 0.000 0.000000 \n", "10 tap 8540.263 7737.963 8140.392 1 -57.372 -7.128214 \n", " target 8540.263 7737.963 8140.392 NaN 0.000 0.000000 \n", "11 tap 9340.014 8540.263 8940.134 1 -20.954 -2.620095 \n", " target 9340.014 8540.263 8940.134 NaN 0.000 0.000000 \n", "12 tap 10140.021 9340.014 9739.894 1 -15.858 -1.982845 \n", " target 10140.021 9340.014 9739.894 NaN 0.000 0.000000 \n", "13 tap 10940.267 10140.021 10540.148 1 -11.952 -1.493526 \n", " target 10940.267 10140.021 10540.148 NaN 0.000 0.000000 \n", "14 tap 11737.695 10940.267 11340.386 1 -18.978 -2.371544 \n", " target 11737.695 10940.267 11340.386 NaN 0.000 0.000000 \n", "15 tap 12530.014 11737.695 12135.004 1 10.432 1.312832 \n", " target 12530.014 11737.695 12135.004 NaN 0.000 0.000000 \n", "16 tap 13320.039 12530.014 12925.024 1 54.028 6.838814 \n", " target 13320.039 12530.014 12925.024 NaN 0.000 0.000000 \n", "17 tap 14110.068 13320.039 13715.054 1 25.990 3.289748 \n", " target 14110.068 13320.039 13715.054 NaN 0.000 0.000000 \n", "18 tap 14900.094 14110.068 14505.082 1 101.750 12.879290 \n", " target 14900.094 14110.068 14505.082 NaN 0.000 0.000000 \n", "19 tap 15687.552 14900.094 15295.106 1 78.094 9.885016 \n", "... ... ... ... ... ... ... \n", "155 tap 103969.882 103457.392 103714.922 1 9.886 1.919388 \n", " target 103969.882 103457.392 103714.922 NaN 0.000 0.000000 \n", "156 tap 104479.817 103969.882 104224.842 1 84.326 16.537104 \n", " target 104479.817 103969.882 104224.842 NaN 0.000 0.000000 \n", "157 tap 104989.768 104479.817 104734.792 1 137.956 27.052848 \n", " target 104989.768 104479.817 104734.792 NaN 0.000 0.000000 \n", "158 tap 105499.723 104989.768 105244.744 1 192.028 37.656093 \n", " target 105499.723 104989.768 105244.744 NaN 0.000 0.000000 \n", "159 tap 106007.377 105499.723 105754.702 1 168.586 33.058801 \n", " target 106007.377 105499.723 105754.702 NaN 0.000 0.000000 \n", "160 tap 106510.178 106007.377 106260.052 1 211.184 41.789651 \n", " target 106510.178 106007.377 106260.052 NaN 0.000 0.000000 \n", "161 tap NaN NaN NaN NaN NaN NaN \n", " target 107010.161 106510.178 106760.304 NaN 0.000 0.000000 \n", "162 tap 107510.116 107010.161 107260.018 1 -237.242 -47.475556 \n", " target 107510.116 107010.161 107260.018 NaN 0.000 0.000000 \n", "163 tap 108010.332 107510.116 107760.214 1 -155.566 -31.101008 \n", " target 108010.332 107510.116 107760.214 NaN 0.000 0.000000 \n", "164 tap 108507.760 108010.332 108260.450 1 -55.430 -11.080770 \n", " target 108507.760 108010.332 108260.450 NaN 0.000 0.000000 \n", "165 tap 109000.062 108507.760 108755.070 1 16.474 3.330638 \n", " target 109000.062 108507.760 108755.070 NaN 0.000 0.000000 \n", "166 tap 109490.045 109000.062 109245.054 1 52.710 10.757494 \n", " target 109490.045 109000.062 109245.054 NaN 0.000 0.000000 \n", "167 tap 109980.031 109490.045 109735.036 1 94.716 19.330506 \n", " target 109980.031 109490.045 109735.036 NaN 0.000 0.000000 \n", "168 tap 110470.006 109980.031 110225.026 1 173.646 35.438682 \n", " target 110470.006 109980.031 110225.026 NaN 0.000 0.000000 \n", "169 tap 111204.946 110470.006 110714.986 1 166.966 34.077476 \n", " target 111204.946 110470.006 110714.986 NaN 0.000 0.000000 \n", "\n", " i interval ints is_outlier micros outlier_metric \\\n", "beat stamp \n", "0 target 0 NaN NaN NaN NaN NaN \n", "1 target 1 819.812 NaN NaN 1737800632 NaN \n", "2 target 2 820.196 NaN NaN 1738620828 NaN \n", "3 target 3 820.234 NaN NaN 1739441062 NaN \n", "4 target 4 820.226 NaN NaN 1740261288 NaN \n", "5 target 5 815.118 NaN NaN 1741076406 NaN \n", "6 target 6 809.980 NaN NaN 1741886386 NaN \n", "7 target 7 809.986 NaN NaN 1742696372 NaN \n", "8 target 8 810.004 NaN NaN 1743506376 NaN \n", "9 tap 0 NaN 763.332 False 1744233932 -4.166107 \n", " target 9 809.978 NaN NaN 1744316354 NaN \n", "10 tap 0 NaN 829.908 False 1745063840 -2.918376 \n", " target 10 804.858 NaN NaN 1745121212 NaN \n", "11 tap 1 NaN 836.160 False 1745900000 -1.072698 \n", " target 11 799.742 NaN NaN 1745920954 NaN \n", "12 tap 1 NaN 804.856 False 1746704856 -0.811800 \n", " target 12 799.760 NaN NaN 1746720714 NaN \n", "13 tap 1 NaN 804.160 False 1747509016 -0.611467 \n", " target 13 800.254 NaN NaN 1747520968 NaN \n", "14 tap 1 NaN 793.212 False 1748302228 -0.970939 \n", " target 14 800.238 NaN NaN 1748321206 NaN \n", "15 tap 1 NaN 824.028 False 1749126256 0.537489 \n", " target 15 794.618 NaN NaN 1749115824 NaN \n", "16 tap 3 NaN 833.616 False 1749959872 2.799892 \n", " target 16 790.020 NaN NaN 1749905844 NaN \n", "17 tap 1 NaN 761.992 False 1750721864 1.346862 \n", " target 17 790.030 NaN NaN 1750695874 NaN \n", "18 tap 3 NaN 865.788 False 1751587652 5.272936 \n", " target 18 790.028 NaN NaN 1751485902 NaN \n", "19 tap 3 NaN 766.368 False 1752354020 4.047044 \n", "... ... ... ... ... ... ... \n", "155 tap 2 NaN NaN False 1840705628 0.785820 \n", " target 155 515.060 NaN NaN 1840695742 NaN \n", "156 tap 3 NaN 584.360 False 1841289988 6.770488 \n", " target 156 509.920 NaN NaN 1841205662 NaN \n", "157 tap 3 NaN 563.580 False 1841853568 11.075760 \n", " target 157 509.950 NaN NaN 1841715612 NaN \n", "158 tap 3 NaN 564.024 True 1842417592 15.416855 \n", " target 158 509.952 NaN NaN 1842225564 NaN \n", "159 tap 3 NaN 486.516 True 1842904108 13.534669 \n", " target 159 509.958 NaN NaN 1842735522 NaN \n", "160 tap 3 NaN 547.948 True 1843452056 17.109183 \n", " target 160 505.350 NaN NaN 1843240872 NaN \n", "161 tap NaN NaN NaN False NaN NaN \n", " target 161 500.252 NaN NaN 1843741124 NaN \n", "162 tap 0 NaN NaN True 1844003596 -19.437061 \n", " target 162 499.714 NaN NaN 1844240838 NaN \n", "163 tap 0 NaN 581.872 True 1844585468 -12.733125 \n", " target 163 500.196 NaN NaN 1844741034 NaN \n", "164 tap 0 NaN 600.372 False 1845185840 -4.536600 \n", " target 164 500.236 NaN NaN 1845241270 NaN \n", "165 tap 2 NaN 566.524 False 1845752364 1.363603 \n", " target 165 494.620 NaN NaN 1845735890 NaN \n", "166 tap 2 NaN 526.220 False 1846278584 4.404247 \n", " target 166 489.984 NaN NaN 1846225874 NaN \n", "167 tap 3 NaN 531.988 False 1846810572 7.914141 \n", " target 167 489.982 NaN NaN 1846715856 NaN \n", "168 tap 3 NaN 568.920 True 1847379492 14.509021 \n", " target 168 489.990 NaN NaN 1847205846 NaN \n", "169 tap 3 NaN 483.280 True 1847862772 13.951726 \n", " target 169 489.960 NaN NaN 1847695806 NaN \n", "\n", " pitch target_spiked task_ms velocity \n", "beat stamp \n", "0 target NaN False 0.000 NaN \n", "1 target NaN False 819.812 NaN \n", "2 target NaN False 1640.008 NaN \n", "3 target NaN False 2460.242 NaN \n", "4 target NaN False 3280.468 NaN \n", "5 target NaN False 4095.586 NaN \n", "6 target NaN False 4905.566 NaN \n", "7 target NaN False 5715.552 NaN \n", "8 target NaN False 6525.556 NaN \n", "9 tap 48 NaN 7253.112 37 \n", " target NaN False 7335.534 NaN \n", "10 tap 48 NaN 8083.020 30 \n", " target NaN False 8140.392 NaN \n", "11 tap 48 NaN 8919.180 21 \n", " target NaN False 8940.134 NaN \n", "12 tap 48 NaN 9724.036 22 \n", " target NaN False 9739.894 NaN \n", "13 tap 48 NaN 10528.196 34 \n", " target NaN False 10540.148 NaN \n", "14 tap 48 NaN 11321.408 26 \n", " target NaN False 11340.386 NaN \n", "15 tap 48 NaN 12145.436 32 \n", " target NaN False 12135.004 NaN \n", "16 tap 48 NaN 12979.052 32 \n", " target NaN False 12925.024 NaN \n", "17 tap 48 NaN 13741.044 19 \n", " target NaN False 13715.054 NaN \n", "18 tap 48 NaN 14606.832 28 \n", " target NaN False 14505.082 NaN \n", "19 tap 48 NaN 15373.200 19 \n", "... ... ... ... ... \n", "155 tap 48 NaN 103724.808 35 \n", " target NaN False 103714.922 NaN \n", "156 tap 48 NaN 104309.168 31 \n", " target NaN False 104224.842 NaN \n", "157 tap 48 NaN 104872.748 27 \n", " target NaN False 104734.792 NaN \n", "158 tap 48 NaN 105436.772 32 \n", " target NaN False 105244.744 NaN \n", "159 tap 48 NaN 105923.288 24 \n", " target NaN False 105754.702 NaN \n", "160 tap 48 NaN 106471.236 22 \n", " target NaN False 106260.052 NaN \n", "161 tap NaN NaN NaN NaN \n", " target NaN False 106760.304 NaN \n", "162 tap 48 NaN 107022.776 24 \n", " target NaN False 107260.018 NaN \n", "163 tap 48 NaN 107604.648 21 \n", " target NaN False 107760.214 NaN \n", "164 tap 48 NaN 108205.020 27 \n", " target NaN False 108260.450 NaN \n", "165 tap 48 NaN 108771.544 32 \n", " target NaN False 108755.070 NaN \n", "166 tap 48 NaN 109297.764 20 \n", " target NaN False 109245.054 NaN \n", "167 tap 48 NaN 109829.752 28 \n", " target NaN False 109735.036 NaN \n", "168 tap 48 NaN 110398.672 18 \n", " target NaN False 110225.026 NaN \n", "169 tap 48 NaN 110881.952 19 \n", " target NaN False 110714.986 NaN \n", "\n", "[331 rows x 16 columns]" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "output" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.8" } }, "nbformat": 4, "nbformat_minor": 0 }