Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
piv = agg.pivot(index='event_name', columns='event_rank', values='freq').fillna(0)
piv.columns.name = None
piv.index.name = None
if not kwargs.get('reverse'):
for i in target_event_list:
piv = piv.append(self._add_accums(piv, i))
if kwargs.get('thr'):
thr = kwargs.pop('thr')
piv = self._process_thr(piv, thr, max_steps, **kwargs)
if sorting:
piv = self._sort_matrix(piv)
if not kwargs.get('for_diff'):
if kwargs.get('reverse'):
piv.columns = ['n'] + ['n - {}'.format(i - 1) for i in piv.columns[1:]]
if plot_type:
plot.step_matrix(
piv.round(2),
title=kwargs.get('title',
'Step matrix {}'
.format('reversed' if kwargs.get('reverse') else '')), **kwargs)
if kwargs.get('dt_means') is not None:
means = np.array(self._obj.groupby('event_rank').apply(
lambda x: (x.next_timestamp - x.event_timestamp).dt.total_seconds().mean()
))
piv = pd.concat([piv, pd.DataFrame([means[:max_steps]], columns=piv.columns, index=['dt_mean'])])
return piv
piv = piv.append(self._add_accums(piv, i))
if kwargs.get('thr'):
thr = kwargs.pop('thr')
piv = self._process_thr(piv, thr, kwargs.get('max_steps' or 30), **kwargs)
if kwargs.get('sorting'):
piv = self._sort_matrix(piv)
if not kwargs.get('for_diff'):
if kwargs.get('reverse'):
piv.columns = ['n'] + ['n - {}'.format(i - 1) for i in piv.columns[1:]]
if plot_type:
plot.step_matrix(
piv.round(2),
title=kwargs.get('title',
'Step matrix {}'
.format('reversed' if kwargs.get('reverse') else '')), **kwargs)
plot.step_matrix(
stds.round(3),
title=kwargs.get('title',
'Step matrix std'), **kwargs)
if kwargs.get('dt_means') is not None:
means = np.array(self._obj.groupby('event_rank').apply(
lambda x: (x.next_timestamp - x.event_timestamp).dt.total_seconds().mean()
))
piv = pd.concat([piv, pd.DataFrame([means[:kwargs.get('max_steps' or 30)]],
columns=piv.columns, index=['dt_mean'])])
return piv, stds
desc_new = self._obj[groups].copy().trajectory.get_step_matrix(plot_type=False,
max_steps=max_steps,
for_diff=True,
reverse=reverse, **kwargs)
desc_old, desc_new = self._create_diff_index(desc_old, desc_new)
desc_old, desc_new = self._diff_step_allign(desc_old, desc_new)
diff = desc_new - desc_old
if thr_value:
diff = self._process_thr(diff, thr_value, max_steps, mod=abs, **kwargs)
diff = diff.sort_index(axis=1)
if kwargs.get('reverse'):
diff.columns = ['n'] + ['n - {}'.format(i - 1) for i in diff.columns[1:]]
if sorting:
diff = self._sort_matrix(diff)
if plot_type:
plot.step_matrix(
diff.round(2),
title=kwargs.get('title',
'Step matrix ({}) difference between positive and negative class ({} - {})'.format(
'reversed' if reverse else '',
self.retention_config['positive_target_event'],
self.retention_config['negative_target_event'],
)), **kwargs)
return diff