【问题标题】:Histogram of events with different durations (Given their start and end times)具有不同持续时间的事件的直方图(给定它们的开始和结束时间)
【发布时间】:2019-04-02 13:59:42
【问题描述】:

我有一个形状为nX2 的Numpy 数组A,代表n 不同的事件。第一列保存事件的开始时间,第二列保存每个事件各自的持续时间。

对于某个持续时间[0, T]N 不同的等距时间点,我想计算每个时间点有多少事件正在进行。 (即长度为N的整数数组,每个条目都有在该时间之前开始并持续到之后的事件数)

在 Python 中实现这一目标的最有效方法是什么?

*我知道我要的不是直方图。如果有人有更好的术语,请随时编辑标题

【问题讨论】:

  • 您能否提供一些示例数据和预期输出?我不太清楚你要做什么。

标签: python performance numpy histogram


【解决方案1】:

你可以试试这样的。这个想法是:对于每个 bin,确定哪些事件在 bin 结束之前开始但在 bin 开始之后结束。

A = np.array([[1, 5, 6, 10], [5, 4, 1, 1]]).T

start = A[:, 0]
end = A.sum(axis=1)

lower = 0
upper = 100
N = 10    
bins = np.linspace(lower, upper, num=N+1)
[( (end > bins[n]) & (start < bins[n+1]) ).sum() for n in range(N)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-13
    • 2018-10-07
    • 2021-09-13
    • 1970-01-01
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多