Python добавить к ndarray - PullRequest
       2

Python добавить к ndarray

0 голосов
/ 30 декабря 2018

У меня есть np.ndarray:

[[0 4 0 0] [0 5 8 2] [2 7 3 2]]

Я хочу добавить в позицию 0 другой элемент, чтобы результат выглядел следующим образом:

[['cat' 0 4 0 0] ['cat' 0 5 8 2] ['cat' 2 7 3 2]]

Я пробовал np.insert, append, vstack и concatenate, как указано в других сообщениях.Но никто не работает.Я подозреваю, что это потому, что тип моего массива <class 'numpy.ndarray'>.Я также попытался преобразовать его в список и добавить его в обычный np.array, но, похоже, ничего не работает.

Есть идеи?

Редактировать:

Я пробовал:

    arr=[np.append('cat',i) for i in my_array]

Это работает, однако, вывод выглядит так:

[array(['cat' 0 4 0 0], dtype=object), array(['cat' 0 5 8 2], dtype=object), array(['cat' 2 7 3 2], dtype=object)]

1 Ответ

0 голосов
/ 30 декабря 2018

An ndarray является контейнером для однородных данных;то есть каждый элемент должен быть одного типа.

Чтобы выполнить то, что вы пытаетесь сделать с правильным типом, это так же просто, как использовать insert.В этом примере я вставляю -1 по индексу 0 вдоль оси столбца:

>>> a
array([[0, 4, 0, 0],
       [0, 5, 8, 2],
       [2, 7, 3, 2]])
>>> np.insert(a, 0, -1, axis=1)
array([[-1,  0,  4,  0,  0],
       [-1,  0,  5,  8,  2],
       [-1,  2,  7,  3,  2]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...