|
11 | 11 | The name of the session column is "{timestamp}_{suffix}", where "timestamp" is the name |
12 | 12 | of the timestamp column, and "suffix" is a string that can be set via the "suffix" |
13 | 13 | parameter (default is "session_id"). The session column contains a unique identifier for |
14 | | -each session, which is a combination of the "split_by" column(s) and a session number |
| 14 | +each session, which is a combination of the "split_by" column(s) and a session number. |
| 15 | +
|
| 16 | +Null values in "timestamp" or "split_by" columns are assigned a session ID of -1, |
| 17 | +and are ignored when computing time intervals. |
| 18 | +
|
15 | 19 | """ |
16 | 20 |
|
17 | 21 | import numbers |
|
35 | 39 |
|
36 | 40 |
|
37 | 41 | @dispatch |
38 | | -def _add_session_column( |
| 42 | +def _get_session_column( |
39 | 43 | X, split_by_columns, timestamp_column, session_gap, session_id_column |
40 | 44 | ): |
41 | 45 | raise_dispatch_unregistered_type(X, kind="Dataframe") |
42 | 46 |
|
43 | 47 |
|
44 | | -@_add_session_column.specialize("pandas") |
45 | | -def _add_session_column_pandas( |
| 48 | +@_get_session_column.specialize("pandas") |
| 49 | +def _get_session_column_pandas( |
46 | 50 | X, split_by_columns, timestamp_column, session_gap, session_id_column |
47 | 51 | ): |
48 | 52 | # Adding a row order column to sort lines back |
@@ -102,8 +106,8 @@ def _add_session_column_pandas( |
102 | 106 | return X_with_session_id.sort_values(by=row_order_col)[session_id_column] |
103 | 107 |
|
104 | 108 |
|
105 | | -@_add_session_column.specialize("polars") |
106 | | -def _add_session_column_polars( |
| 109 | +@_get_session_column.specialize("polars") |
| 110 | +def _get_session_column_polars( |
107 | 111 | X, split_by_columns, timestamp_column, session_gap, session_id_column |
108 | 112 | ): |
109 | 113 | # Adding a row order column to sort lines back |
@@ -566,7 +570,7 @@ def transform(self, X, y=None): |
566 | 570 | X, **{self.session_id_column_: np.array([], dtype=np.int64)} |
567 | 571 | ) |
568 | 572 |
|
569 | | - session_id = _add_session_column( |
| 573 | + session_id = _get_session_column( |
570 | 574 | X, |
571 | 575 | self._split_by_columns, |
572 | 576 | self.timestamp_col, |
|
0 commit comments