Создание словаря из массива numpy

у меня есть массив NumPy и я хочу создать словарь из массива.

более конкретно я хочу словарь, который имеет ключи, соответствующие строке, поэтому ключ 1 должен быть суммой строки 1.

s1-мой массив, и я знаю, как получить сумму строки, но делать numpy.sum(s1[i]), где i-строка.

Я думал создать цикл, где я могу вычислить сумму строки, а затем добавить его в словарь, но я новичок в программировании, поэтому я не уверен как это сделать, или, если это возможно.

есть ли у кого-нибудь предложения?

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

Я создал Ключевые значения с помощью функции range. Затем застегнул молнию на ключах и массиве.

mydict = dict(zip(keys, s1))

1 ответов


Я бы сделал что-то похожее по духу на свой dict(zip(keys, s1)), с двумя незначительными изменениями.

во-первых, мы можем использовать enumerate, а во-вторых, мы можем назвать sum метод ndarrays. Пример:

>>> arr = np.arange(9).reshape(3,3)
>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> arr.sum(axis=1)
array([ 3, 12, 21])
>>> dict(enumerate(arr.sum(axis=1)))
{0: 3, 1: 12, 2: 21}