data2是一个np.array二维数组
def junzhibiaozhunhua(date2):#动态最大均值逼近标准化
date3=date2
[m,n]=date2.shape
for j in range(0,n):
d_max=max(date2[0:m-1,j])
d_min=min(date2[0:m-1,j])
date3[0:m-1,j]=(ymax-ymin)*(date2[0:m-1,j]-d_min)/(d_max-d_min)+ymin#标准化
date3[-1] = np.average(date3[0:m-1,0:n], axis=0)#求各列均值#添加均值到data3最后一行
K = max(date3[m-1,:])
for i in range(0,n):
if date3[m-1,i] != K:
for j in range(0,m-1):
date3[j,i] += K-date3[m-1,i]
for i in range(0,n):
if max(date3[0:m-1,i]) <= 110:
continue
else:
date3 = junzhibiaozhunhua(date3)
return date3
[SpyderKernelApp] WARNING | No such comm: 4a1163b2bbcc11ec8ff79840bb26f750
[SpyderKernelApp] WARNING | No such comm: cc68cd35bbcc11ec81b79840bb26f750
怎么解决呢,不是很懂递归,已经把递归深度修改成3000了,但我这个数组是180x18的,应该最多18层就行了把
没看到有结束递归的条件啊,应该有一种基本情况,不进入递归直接返回值,否则是无限递归啊,也就是你这个函数里面应该有两个return,一个是递归情况,一个是边界情况或者结束递归的条件,否则一直递归,无法返回值。
def jiecheng(n):
#基本情况
if n == 1:
return 1
#递归情况
else:
return n*jiecheng(n-1)
a=jiecheng(5)
print(a)