Python分组算法

问题描述 投票:0回答:1

您好,我正在尝试使用 numpy 或 pandas 来解决任务。

任务描述:我们有一定数量的火车沿着一条铁路轨道行驶,我们的速度值与它们沿着轨道行驶的顺序相同。最终有些火车会因为慢而慢下来。

假设我们有速度值列表

[8, 9, 5, 6, 5, 3, 9, 4, 8, 5]

输出应该是这样的:

[3, 3, 3, 3, 3, 3, 4, 4, 5, 5]

我不知道使用什么函数来解决这样的任务。

python numpy grouping trains
1个回答
0
投票

这是累积最小值,Pandas 有一个方法,但相反。

>>> speeds = [8, 9, 5, 6, 5, 3, 9, 4, 8, 5]
>>> s = pd.Series(speeds)
>>> s[::-1].cummin()[::-1].to_list()
[3, 3, 3, 3, 3, 3, 4, 4, 5, 5]
© www.soinside.com 2019 - 2024. All rights reserved.