gpt4 book ai didi

Python-根据平均值将递增的类分配给列表val

转载 作者:行者123 更新时间:2023-12-03 08:26:14 24 4
gpt4 key购买 nike

我有以下问题:有一个值列表,比方说:

x = [1000, 950, 860, 1120, 430, 270, 0, 15, 0, 26, 278, 0, 950, 1020, 980, 1040, 670, 540, 820, 0, 0, 0, 190, 270, 479, 1247]

我计算平均值:

mean = np.mean(x)
# 505.96

现在我想计算一个列表,其中为列表 x 的每个项目分配一个值(从 1 开始),如果该项目高于平均值,则它分配一个(相同)值,直到其关系移位(低于平均值),然后分配第二个 val,依此类推。因此对于示例 x 列表,输出如下:

x = [1000, 950, 860, 1120, 430, 270, 0, 15, 0, 26, 278, 0, 950, 1020, 980, 1040, 670, 540, 820, 0, 0, 0, 190, 270, 479, 1247]
# [1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5 ]

谢谢

最佳答案

您可以采取np.diff将结果与平均值进行比较,以查看“转变”何时发生。然后采取np.cumsum增加值:

np.cumsum(np.diff(x>mean, prepend=False))
array([1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4,
4, 4, 4, 5], dtype=int32)

关于Python-根据平均值将递增的类分配给列表val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66561486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com