我试图生成NAN
的二维数组(80行20列),然后使用1,2或3的随机数填充它的第一列。
所以,这是我的代码:
import numpy.random as random
def getRowData():
rowDt = np.eye(80,20)
rowDt[:] = np.NaN
rowDt[:,0] = random.choice([1,2,3],80) # Set the first column
rowDt
但是当我运行代码时,它给了我None
。
print(getRowData())
None
我不认为我的函数的输出应该是None
。
那么,我该如何解决?
答案 0 :(得分:0)
看来,您的错误仅仅是因为您没有在函数中包含return
语句。考虑改用:
def getRowData():
a = np.full((80,20), np.nan)
a[:,0] = np.random.choice([1,2,3],80)
return a
输出
array([[ 3., nan, nan, ..., nan, nan, nan],
[ 2., nan, nan, ..., nan, nan, nan],
[ 1., nan, nan, ..., nan, nan, nan],
...,
[ 2., nan, nan, ..., nan, nan, nan],
[ 1., nan, nan, ..., nan, nan, nan],
[ 1., nan, nan, ..., nan, nan, nan]])