Как взять сумму только второго столбца матрицы / многомерного массива, используя numpy - PullRequest
0 голосов
/ 24 октября 2019

Мой массив состоит из двух столбцов, первый из которых состоит из букв алфавита (в виде однобуквенных строк), а второй - из числа. Я хочу найти сумму этих чисел, но получаю ошибки из-за строк.

Я обнаружил, что вы можете сделать axis = 0 в функции numpy.sum, чтобы получить сумму столбцов, которая может быть ближе к тому, что мне нужно.

import numpy as np
str = "aaabcc"
foo = [
    ["a", str.count("a")],
    ["b", str.count("b")],
    ["c", str.count("c")],
    ]
print(np.sum(foo, axis=0)

Если есть способ получить сумму второго столбца без оси = 0, это также сработало бы.

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Вы можете попробовать:

np.array(foo)[:, 1].astype('int').sum()

Вывод:

6
0 голосов
/ 24 октября 2019

как то так?

sum(i[1] for i in foo)

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