You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
eliminates .apply_steps() in favour of a single .apply_step(*step), that is, with variadic argument. For backward compatibility, the method still accepts a single list or tuple
Features
adds four additional columns to HarmonyLabels and BassNotes which contain the (main) chord tones expressed as scale degrees (396dce9)
adds Result.compute_entropy() and Transitions.compute_information_gain() (c1257a8)
AdjacencyGroupSlicers now process the required_feature during .fit_to_dataset(), store it as property .slice_metadata and join it onto any processed Metadata object. In the future, there could also be a mode where this metadata is joined onto any processed feature. (cea586e)
empowers NgramTable to make_bi/ngram_tables and NgramTuples with components made up from different columns and with individual join_str and fillna settings (c8488cf)
enables adding context_columns for the NgramTable's methods .get_bi/ngram_tuples() and get_bi/ngram_table(). The NgramAnalyzer therefore adds the relevant column names in post-processing. (fe7ee3a)
enables applying Slicers to Metadata by joining them on the SliceIntervals (DimcatIndex) (a4c3929)
enables dropping ngram rows which include/correspond to terminals (89a2552)
enables the detailed control of terminals which may differ for different n-gram components (except the first one). (f6a807f)
HarmonyLabels and BassNotes features now come with an intervals_over_bass and (for the former) with an intervals_over_root column (be8d06d)
includes "root" as auxiliary column for BassNotes (3f7bd35)
makes the 'data' argument to PipelineStep.process() a variadic one, too (concordant with .apply_step()), while still accepting a single argument that can be a list or tuple (7a37aaa)
Metadata.get_composition_years() now with 'group_cols' parameter to compute composition year means of groups (e.g. corpora) (fef9860)
methods .make_ngram_table() and .make_bigram_table() of NgramTable now actually return a new NgramTable, whereas the previous functions of that name (which returned dataframes) have been renamed to .make_bigram_df() and .make_ngram_df(). (8dbff20)
NgramTable gets the convenience method .compute_information_gain() to skip an intermediate call to .get_transitions() (5b37414)
NgramTable._get_transitions() is cached and now complete with the terminal_symbols argument (bd12568)
reduces the amount of parentheses in n-grams by not turning 'single' components (with only one column) into tuples (02f91d4)
streamlines turning n-grams into strings and allows for doing it recursively (useful when columns making up n-gram components contain tuples themselves) (745df2e)
Bug Fixes
adapts scipy.stats.entropy() to fix bug caused by pd.Float64Dtype (4938170)
allow DimcatResource.filter_index_level() to just drop the level without filtering rows (5c07d97)
applying a Grouper needs to be an inner join. Also, the index levels should come in systematic order, first the grouper levels, then the remaining ones (8f80fc2)
enables (de-)serialization for Filter objects (976c179)
fills up missing 'quarterbeats_all_endings' column for older parts of the dataset (390e0a5)
Groupers that use metadata now should use Dataset.get_metadata(raw=True) (5d35b20)
grouping by a single level that contains tuples resulted in several levels in the resulting MultiIndex; this fix applied for completeness before the whole function is simplified (0ed6091)
singular ngram_components should also become strings (even if they are not joined on 'join_str') (3987162)
when an index level is dropped, make sure to remove it from the default_groupby (260f8f1)
when applying a Filter with drop_level=True, do not turn a Dataset into a GroupedDataset (as per virtue of the respective parent Grouper) (937002c)
when Counter is used with smallest_unit=GROUP, it recurs to self.compute() (737b6a6)
Reverts
eliminates .apply_steps() in favour of a single .apply_step(*step), that is, with variadic argument. For backward compatibility, the method still accepts a single list or tuple (fab8e13)