【发布时间】:2020-01-07 07:36:55
【问题描述】:
我想找到一个列表中最长连续子序列的长度,该子序列的值大于其平均值。
例如,考虑下面的例子。
mylist = [0, 6, 25, 20, 15, 8, 15, 6, 0, 6, 0]
以上列表的平均值为 9.181818181818182。所以,最长的连续子序列是[25,20,15]。因此,长度为 3。
我尝试如下。
mytemp = []
for item in mylist:
if item > np.mean(mylist).item():
mytemp.append(1)
else:
mytemp.append(0)
print(mytemp)
但是,这对于长数据集来说效率很低,因为我正在创建另一个数组来执行此操作。我想知道在 python 中是否有更有效的方法来做到这一点。
如果需要,我很乐意提供更多详细信息。
【问题讨论】: