mcbrowse.common.reorders

Allow sorting data.

In principle, the order of graph data does not matter. In practice, the implementation(s) will plot graphical elements in order, so this will control the order of entries in a bar chart, or, for scatter plots, later data will overwrite earlier data. It is therefore sometimes useful to reorder the data before giving it to the plot function.

Todo

Add functions for clustering and/or ordering 2D data for heatmaps into the reorders module.

mcbrowse.common.reorders.tidy_sort_by(frame: Union[FrameInRows, FrameInColumns], order: Union[Callable[[Series], Any], Sequence[str]]) Union[FrameInRows, FrameInColumns][source]

Sort the tidy frame rows using the order.

If the order is a function, we apply it to each frame row and sort the frame by the resulting keys.

Otherwise, the order is a sequence of <name or >name listing the columns to sort by in ascending or descending order.

mcbrowse.common.reorders.tidy_randomize(frame: Union[FrameInRows, FrameInColumns], *, random_seed: Optional[int] = None) Union[FrameInRows, FrameInColumns][source]

Randomize the order of the tidy frame rows.

If the random_seed is None, then then the result will not be reproducible.

Note

Randomization is a quick way to ensure all data subsets get a fair chance to be “on top”, based on their size.