二维列表数据判断,怎么简化流程?

data = data[[3,8,7,9].....[157,27,33,7].....无数个数据]

for i in range(len(data)):
    if(data[i][3] < MA26):
        break

b=i

print(b)

其中MA26=(data[i][2]+data[i+1][2]+data[i+2][2]+data[i+3][2]+data[i+4][2]+data[i+5][2]+data[i+6][2]+data[i+7][2]+data[i+8][2]+data[i+9][2]+data[i+10][2]+data[i+11][2]+data[i+12][2]+data[i+13][2]+data[i+14][2]+data[i+15][2]+data[i+16][2]+data[i+17][2]+data[i+18][2]+data[i+19][2]+data[i+20][2]+data[i+21][2]+data[i+22][2]+data[i+23][2]+data[i+24][2]+data[i+25][2])/26

这种怎么实现呢,而且数据处理的快些?

MA26 = sum(n[2] for n in data[i:i+26])/26

 

import numpy as np

data=np.array([[3,7,9,11],[2,6,8,13],[22,33,55,56],[45,67,88,90],[100,122,136,139]])

Ma5=(data[:,2].sum())/len(data)

def f(x):

    if x[3]<Ma5:

        return True

    return False

print(np.apply_along_axis(f,1,data))

 

如对你有用,请点一下采纳。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632