Сумма значений в массиве - Python - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть такой массив:

   rez = array([
   array([1,2,3], dtype=object),
   array([4,5,6], dtype=object),
   array([7,8,9], dtype=object),
   ], dtype=object)

Я хочу суммировать для каждого подмассива новый массив:

    rez2 = array([6, 15,24])

Но когда я использую:

    numpy.sum(rez,axis = 1) 

это не работает, потому что "rez" - это одномерный массив (?!).для меня это не имеет никакого смысла;)

Как это сделать, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018
import numpy as np

rez = np.array(
    [
        np.array([1, 2, 3], dtype=object),
        np.array([4, 5, 6], dtype=object),
        np.array([7, 8, 9], dtype=object),  # no need for a ',' here
    ],
    dtype=object,
)
rez2 = np.array(np.sum(rez, axis=1))

Попробуйте, если вы получили синтаксическую ошибку.Прикрепление скриншота моего кода и результата enter image description here

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

Если вы используете numpy, вам, вероятно, нужно определить массив следующим образом :

rez = np.array([
   np.array([1,2,3], dtype=object),
   np.array([4,5,6], dtype=object),
   np.array([7,8,9], dtype=object),
   ], dtype=object)

После этого вы можете попробовать:

rez2 = np.sum(rez,1)
print (rez2)
Out[13]: array([6, 15, 24], dtype=object)

или альтернативно:

rez2 = rez.sum(1)
print (rez2)

Out[15]: array([6, 15, 24], dtype=object)

У меня оба варианта работают нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...