def test_get_rewards(): data = { "items": { "behavior": { "trial_log": [ { 'rewards': [(0.007, 1085.96, 64775)], 'trial_params': { 'catch': False, 'auto_reward': False, 'change_time': 5}}, { 'rewards': [(0.007, 1090.01, 64780)], 'trial_params': { 'catch': False, 'auto_reward': True, 'change_time': 6}}, { 'rewards': [], 'trial_params': { 'catch': False, 'auto_reward': False, 'change_time': 4}, }, ] }}} expected = pd.DataFrame( {"volume": [0.007, 0.007], "timestamps": [1086.96, 1091.01], "autorewarded": [False, True]}).set_index("timestamps", drop=True) pd.testing.assert_frame_equal(expected, get_rewards(data, lambda x: x+1.0))
def test_get_rewards(): data = { "items": { "behavior": { "trial_log": [ { 'rewards': [(0.007, 1085.96, 55)], 'trial_params': { 'catch': False, 'auto_reward': False, 'change_time': 5}}, { 'rewards': [(0.008, 1090.01, 66)], 'trial_params': { 'catch': False, 'auto_reward': True, 'change_time': 6}}, { 'rewards': [], 'trial_params': { 'catch': False, 'auto_reward': False, 'change_time': 4}, }, ] }}} expected = pd.DataFrame( {"volume": [0.007, 0.008], "timestamps": [14.0, 15.0], "autorewarded": [False, True]}) timesteps = -1*np.ones(100, dtype=float) timesteps[55] = 14.0 timesteps[66] = 15.0 pd.testing.assert_frame_equal(expected, get_rewards(data, timesteps))
def get_rewards(self) -> pd.DataFrame: """Get reward data from pkl file, based on pkl file timestamps (not sync file). :returns: pd.DataFrame -- A dataframe containing timestamps of delivered rewards. """ data = self._behavior_stimulus_file() # No sync timestamps to rebase on, so pass dummy rebase function return get_rewards(data, lambda x: x)
def get_rewards(self) -> pd.DataFrame: """Get reward data from pkl file, based on pkl file timestamps (not sync file). :returns: pd.DataFrame -- A dataframe containing timestamps of delivered rewards. """ data = self._behavior_stimulus_file() timestamps = self.get_stimulus_timestamps() return get_rewards(data, timestamps)
def get_rewards(self) -> pd.DataFrame: """Get reward data from pkl file, based on pkl file timestamps (not sync file). :returns: pd.DataFrame -- A dataframe containing timestamps of delivered rewards. """ data = self._behavior_stimulus_file() offset = frame_time_offset(data) # No sync timestamps to rebase on, but do need to align to # trial events, so add the offset as the "rebase" function return get_rewards(data, lambda x: x + offset)
def get_rewards(self): data = self._behavior_stimulus_file() timestamps = self.get_stimulus_timestamps() return get_rewards(data, timestamps)
def get_rewards(self): behavior_stimulus_file = self.get_behavior_stimulus_file() data = pd.read_pickle(behavior_stimulus_file) rebase_function = self.get_stimulus_rebase_function() return get_rewards(data, rebase_function)