我尝试将for循环中的值追加到numpy数组中。当值正确时,数组只返回none值。输入的值来自另一个numpy数组。
import numpy as np
import matplotlib.pyplot as plt
j=np.array([14,15,16,16,16,22,22,24,24,25,25,25,25,25])
u=np.unique(j)
def P(age):
sum=0
for i in range(14):
if j[i]==age:
sum=sum+1
else:
sum=sum
print(sum/14)
p = []
for i in range(6):
p.append(P(u[i]))
p=np.array(p)
print(p)
print(type(p))
输出:
0.07142857142857142
0.07142857142857142
0.21428571428571427
0.14285714285714285
0.14285714285714285
0.35714285714285715
[None None None None None None]
<class 'numpy.ndarray'>
2条答案
按热度按时间p1iqtdky1#
因为你的函数
P()
没有return
语句,即它返回None
。您可能希望更改此函数定义的最后一条语句,即声明
到
(or将此
return
语句追加到print(sum/14)
之后。)2wnc66cl2#
函数“P”没有返回函数,因此每次都等于None。
此处显示^,您可以返回总和。