alifestd_mark_lineage_cumsum_asexual

alifestd_mark_lineage_cumsum_asexual(phylogeny_df: DataFrame, values: str, mutate: bool = False, *, mark_as: str = 'lineage_cumsum', reverse: bool = False, skipna: bool = True) DataFrame

Add column with cumulative sum of values along each lineage.

With reverse=False (default), the result at each node is the sum of values along the path from the root to that node, inclusive. With reverse=True, the result at each node is the sum of values over the entire clade rooted at that node, inclusive.

The output column name can be changed via the mark_as parameter. NaN values are treated as 0 if skipna (default), else propagate.

Phylogeny must be asexual, topologically sorted, and have contiguous ids; otherwise NotImplementedError is raised.

Input dataframe is not mutated by this operation unless mutate is set True. If mutate set True, operation does not occur in place; still use return value to get transformed phylogeny dataframe.