Source code for featuretools.primitives.standard.transform.cumulative.cum_count
import numpy as np
from woodwork.column_schema import ColumnSchema
from woodwork.logical_types import IntegerNullable
from featuretools.primitives.base import TransformPrimitive
[docs]class CumCount(TransformPrimitive):
"""Calculates the cumulative count.
Description:
Given a list of values, return the cumulative count
(or running count). There is no set window, so the
count at each point is calculated over all prior
values. `NaN` values are counted.
Examples:
>>> cum_count = CumCount()
>>> cum_count([1, 2, 3, 4, None, 5]).tolist()
[1, 2, 3, 4, 5, 6]
"""
name = "cum_count"
input_types = [
[ColumnSchema(semantic_tags={"foreign_key"})],
[ColumnSchema(semantic_tags={"category"})],
]
return_type = ColumnSchema(logical_type=IntegerNullable, semantic_tags={"numeric"})
uses_full_dataframe = True
description_template = "the cumulative count of {}"
def get_function(self):
def cum_count(values):
return np.arange(1, len(values) + 1)
return cum_count