Изменение/перезапись массива NumPyPython

Программы на Python
Ответить
Anonymous
 Изменение/перезапись массива NumPy

Сообщение Anonymous »

Серия двоичных массивов NumPy, представляющих пиксели облачного (1) и ясного (0) неба, которые я сложил вместе, чтобы найти количество наблюдений, в которых облако присутствует в каждом пикселе. Я хочу найти процентное соотношение числа облаков (1)/общего числа наблюдений*100, но не могу заставить это работать в Python с использованием массивов NumPy, поскольку я хочу изменить исходную переменную:

Код: Выделить всё

import numpy as np

arr1 = np.array([1,0,1])
arr2 = np.array([0,0,1])
total1 = np.add(arr1, arr2)
>>> [1 0 2]

total2 = total1                  #Purely to make multiple to elaborate my issue
variables = [total1, total2]

for x in variables:
x = x + 100

total1
>>> [1 0 2]

Код: Выделить всё

total1Переменная 
не обновилась. Работает с:

Код: Выделить всё

for x in variables:
x += 100

total1
>>> [201, 200, 202]
Однако я не хочу увеличивать значение на 100. Я хочу вычислять проценты следующим образом:

Код: Выделить всё

for x in variables:
x = x / 1 * 100             #I have simplified the maths for ease of  reading

#This is my desired output - note how total1 is updated, not created
total1
>>> [100, 0, 200]
Но это не работает. Таким образом я получаю доступ к переменным для n переменных (имена переменных начинаются с total1 > total*n*).

Подробнее здесь: https://stackoverflow.com/questions/402 ... umpy-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»