Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从数据帧中查找频率并在数组中存储值_Python - Fatal编程技术网

Python 从数据帧中查找频率并在数组中存储值

Python 从数据帧中查找频率并在数组中存储值,python,Python,我试图编写一个python代码,以获得零值之间连续出现非零值的次数。要计算频率并存储一次出现的非零数字,数组中的零和零之间非常简单。但当我试图为连续出现超过6次的非零代码编写代码时,问题就出现了,即代码开始变得太长。 这是我试过的 rain_15Min = np.array([0,15,15,15,4,0,5,5,5,90,0,30,4,3,30,32,0,0,45,45,45,4,50,0,3,4,5,0,0,0,6,7,5,5]) R_75min=[] # for 75 Minutes du

我试图编写一个python代码,以获得零值之间连续出现非零值的次数。要计算频率并存储一次出现的非零数字,数组中的零和零之间非常简单。但当我试图为连续出现超过6次的非零代码编写代码时,问题就出现了,即代码开始变得太长。 这是我试过的

rain_15Min = np.array([0,15,15,15,4,0,5,5,5,90,0,30,4,3,30,32,0,0,45,45,45,4,50,0,3,4,5,0,0,0,6,7,5,5])
R_75min=[]
# for 75 Minutes duration    
for i in range(len(rain_15Min)-5): 
    if rain_15Min[i]!= 0 and rain_15Min[i-1]== 0 and rain_15Min[i+1] !=0 and rain_15Min[i+2] !=0 and rain_15Min[i+3] !=0 and rain_15Min[i+4] !=0 and rain_15Min[i+5] == 0:
        R_75min.append(rain_15Min[i:i+5])
print("The frequency of 60min rainfall is: ")
print(len(R_75min))
print(R_75min)

你可以用发电机

def chunker(items):
    chunk = []
    for item in items:
        if item != 0:
            chunk.append(item)
        else:
            if chunk:
                yield chunk
                chunk = []
    if chunk:
        yield chunk

            
rain_15Min = [0,15,15,15,4,0,5,5,5,90,0,30,4,3,30,32,0,0,45,45,45,4,50,0,3,4,5,0,0,0,6,7,5,5]

chunks = [chunk for chunk in chunker(rain_15Min)]
chunk_lens = [len(chunk) for chunk in chunks]
你读过吗?
np。其中(rain_15Min[:]==0)
会给你0分,然后你可以从那里推理