以下是一种解决“按组累积最小值”的方法,包含代码示例:
import numpy as np
def accumulate_min_values(groups, values):
# 将数据按组分组
grouped_data = {}
for i, group in enumerate(groups):
if group not in grouped_data:
grouped_data[group] = []
grouped_data[group].append(values[i])
# 计算每个组的累积最小值
accumulated_min_values = []
for group, data in grouped_data.items():
accumulated_min_values.extend(np.minimum.accumulate(data))
return accumulated_min_values
# 示例数据
groups = ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C']
values = [5, 3, 8, 2, 6, 1, 7, 4, 9]
# 调用函数并打印结果
result = accumulate_min_values(groups, values)
print(result)
输出结果为:
[5, 3, 3, 2, 2, 1, 1, 4, 4]
在这个例子中,将数据按组分组,然后对每个组的数据进行累积最小值计算。最后将每个组的累积最小值合并成一个列表作为结果返回。