flowmachine.features.subscriber.majority_location¶
Class MajorityLocation¶
MajorityLocation(*, subscriber_location_weights: flowmachine.core.query.Query, weight_column: str, include_unlocatable: bool = False)
A class for producing a list of subscribers along with the location (derived from spatial_unit') that they visited more than half the time. Takes a query that includes a 'subscribers' column, a 'spatial_unit' attribute and a column to be used as weighting for locations (
location_count` for example)
Attributes¶
Parameters¶
-
subscriber_location_weights
:flowmachine.core.query.Query
The query object containing subscribers, locations, and weights.
-
weight_column
:str
The column, when summed, that will produce the count used to threshold the majority
-
include_unlocatable
:bool
, defaultFalse
If
True
, returns every unique subscriber in thesubscriber_location_weights
query, with the location column asNULL
if no majority is reached. IfFalse
, returns only subscribers that have achieved a majority location
Note
Any rows where weight < 0 will be dropped
Methods¶
cache¶
cache
Returns¶
-
bool
True is caching is switched on.
column_names¶
column_names
Returns the column names.
Returns¶
-
typing.List[str]
List of the column names of this query.
column_names_as_string_list¶
column_names_as_string_list
Get the column names as a comma separated list
Returns¶
-
str
Comma separated list of column names
dependencies¶
dependencies
Returns¶
-
set
The set of queries which this one is directly dependent on.
fully_qualified_table_name¶
fully_qualified_table_name
Returns a unique fully qualified name for the query to be stored as under the cache schema, based on a hash of the parameters, class, and subqueries.
Returns¶
-
str
String form of the table's fqn
index_cols¶
index_cols
A list of columns to use as indexes when storing this query.
Returns¶
-
ixen
:list
By default, returns the location columns if they are present and self.spatial_unit is defined, and the subscriber column.
Examples¶
daily_location("2016-01-01").index_cols
[['name'], '"subscriber"']
is_stored¶
is_stored
Returns¶
-
bool
True if the table is stored, and False otherwise.
query_id¶
query_id
Generate a uniquely identifying hash of this query, based on the parameters of it and the subqueries it is composed of.
Returns¶
-
str
query_id hash string
query_state¶
query_state
Return the current query state.
Returns¶
-
QueryState
The current query state
query_state_str¶
query_state_str
Return the current query state as a string
Returns¶
-
str
The current query state. The possible values are the ones defined in
flowmachine.core.query_state.QueryState
.
table_name¶
table_name
Returns a uniquename for the query to be stored as, based on a hash of the parameters, class, and subqueries.
Returns¶
-
str
String form of the table's fqn