pynapple.TsdFrame.count#
- TsdFrame.count(bin_size=None, ep=None, time_units='s', dtype=None)[source]#
Count occurences of events within bin_size or within a set of bins defined as an IntervalSet. You can call this function in multiple ways :
1. tsd.count(bin_size=1, time_units = ‘ms’) -> Count occurence of events within a 1 ms bin defined on the time support of the object.
2. tsd.count(1, ep=my_epochs) -> Count occurent of events within a 1 second bin defined on the IntervalSet my_epochs.
3. tsd.count(ep=my_bins) -> Count occurent of events within each epoch of the intervalSet object my_bins
4. tsd.count() -> Count occurent of events within each epoch of the time support.
bin_size should be seconds unless specified. If bin_size is used and no epochs is passed, the data will be binned based on the time support of the object.
- Parameters:
bin_size (None or float, optional) – The bin size (default is second)
ep (None or IntervalSet, optional) – IntervalSet to restrict the operation
time_units (str, optional) – Time units of bin size (‘us’, ‘ms’, ‘s’ [default])
dtype (type, optional) – Data type for the count. Default is np.int64.
- Returns:
out – A Tsd object indexed by the center of the bins.
- Return type:
Examples
This example shows how to count timestamps within bins of 0.1 second.
>>> import pynapple as nap >>> import numpy as np; np.random.seed(42) >>> t = np.unique(np.sort(np.random.randint(0, 1000, 100))) >>> tsdframe = nap.TsdFrame(t=t, d=np.random.randn(len(t), 4), time_units='s') >>> tsdframe Time (s) 0 1 2 3 ---------- ---------- ---------- --------- ---------- 1.0 -2.17833 -1.0439 0.172694 0.324199 13.0 0.74586 -1.83658 0.564464 0.0255007 20.0 0.473193 0.659191 2.34075 1.07099 21.0 0.0964165 0.419102 -0.953028 -1.04787 34.0 -1.87568 -1.36678 0.636305 -0.906721 58.0 0.476043 1.30366 0.211587 0.597045 71.0 -0.896335 -0.111988 1.46894 -1.1239 ... 875.0 0.366909 0.209497 -0.875562 -0.234848 897.0 -0.987229 -0.491164 -1.20912 1.58914 931.0 -0.756906 -0.875079 -1.32561 -0.771205 942.0 -0.494893 -0.0494796 -0.645322 -1.60061 955.0 -1.51457 0.67966 -0.122789 0.648893 957.0 0.780275 0.15108 -1.23173 0.189585 975.0 1.3996 -0.447428 0.340615 -0.013778 dtype: float64, shape: (94, 4)
tsdframe_before is a timestamp table with data.
>>> ep = nap.IntervalSet(start = 0, end = 500, time_units = 's') >>> ep index start end 0 0 500 shape: (1, 2), time unit: sec.
ep is an IntervalSet object defining the epochs.
>>> bincount = tsdframe.count(10.0, ep=ep) >>> bincount Time (s) ---------- -- 5.0 1 15.0 1 25.0 2 35.0 1 45.0 0 55.0 1 ... 445.0 0 455.0 3 465.0 1 475.0 3 485.0 1 495.0 1 dtype: int64, shape: (50,) >>> bincount.time_support index start end 0 0 500 shape: (1, 2), time unit: sec.
bincount automatically inherits ep as time support.