Как создать 2-мерный массив NAN в Python? - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь сгенерировать двумерный массив (80 строк и 20 столбцов) из NAN, а затем заполнить его первым столбцом, используя случайные числа 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.

Итак, как мне это исправить?

1 Ответ

0 голосов
/ 27 марта 2019

Похоже, что ваша ошибка просто в том, что вы не включили оператор 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]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...