staircase.StairsSlicer.hist#

StairsSlicer.hist(*args, **kwargs)#

Calculates histogram data for each of the step function slices

Parameters
bins“unit”, sequence or pandas.IntervalIndex

If bins is “unit” then the histogram bins will have unit length and cover the range of step function values. If bins is a sequence, it defines a monotonically increasing array of bin edges. If bins are defined by pandas.IntervalIndex they should be non-overlapping and monotonic increasing.

closed{“left”, “right”}, default “left”

Indicates whether the histogram bins are left-closed right-open or right-closed left-open. Only relevant when bins is not a pandas.IntervalIndex

stat{“sum”, “frequency”, “density”, “probability”}, default “sum”
The aggregate statistic to compute in each bin. Inspired by seaborn.histplot() stat parameter.
  • sum the magnitude of observations

  • frequency values of the histogram are divided by the corresponding bin width

  • density normalises values of the histogram so that the area is 1

  • probability normalises values so that the histogram values sum to 1

Returns
pandas.Dataframe

Each row corresponds to a step function slice. Each column corresponds to a bin.

Examples

>>> df = sc.make_test_data(seed=0)
>>> sf = sc.Stairs(df, "start", "end", "value")
>>> sf.plot()
../../_images/staircase-StairsSlicer-hist-1.png
>>> cuts = pd.date_range("2021", periods=12, freq="MS")
>>> sf.slice(cuts).hist(bins=[300, 400, 500, 600], stat="probability")
                          [300.0, 400.0)  [400.0, 500.0)  [500.0, 600.0)
[2021-01-01, 2021-02-01)        0.216756        0.783244        0.000000
[2021-02-01, 2021-03-01)        0.927480        0.072520        0.000000
[2021-03-01, 2021-04-01)        0.000000        0.443907        0.556093
[2021-04-01, 2021-05-01)        0.000000        0.487269        0.512731
[2021-05-01, 2021-06-01)        0.618996        0.381004        0.000000
[2021-06-01, 2021-07-01)        0.592523        0.407477        0.000000
[2021-07-01, 2021-08-01)        0.000000        0.684812        0.315188
[2021-08-01, 2021-09-01)        0.000000        0.985954        0.014046
[2021-09-01, 2021-10-01)        0.029444        0.970556        0.000000
[2021-10-01, 2021-11-01)        0.000000        0.992876        0.007124
[2021-11-01, 2021-12-01)        0.000000        0.875370        0.124630