#python #list #sum #python-xarray
#питон #Список #сумма #python-xarray
Вопрос:
У меня есть список нескольких массивов данных с одинаковыми размерами по имени и размеру, я хочу суммировать все массивы данных и создать один массив данных с одинаковыми размерами массивов данных, как это лучше всего сделать?
[lt;xarray.DataArray (latitude: 501, longitude: 894)gt; array(..., dtype=float32) Coordinates: * longitude (longitude) float64 49.8 49.81 49.81 49.82 ... 56.98 56.99 57.0 * latitude (latitude) float64 27.0 27.01 27.02 27.03 ... 31.98 31.99 32.0 year int64 2000, ....... ....... lt;xarray.DataArray (latitude: 501, longitude: 894)gt; array(..., dtype=float32) Coordinates: * longitude (longitude) float64 49.8 49.81 49.81 49.82 ... 56.98 56.99 57.0 * latitude (latitude) float64 27.0 27.01 27.02 27.03 ... 31.98 31.99 32.0 year int64 2020]
Комментарии:
1. Под «суммой» вы подразумеваете, что хотите добавить массивы по элементам или вы хотите вычислить сумму всех элементов в массиве? И то и другое тривиально. Вы вычисляете сумму с помощью
.sum()
(в этом нет ничего удивительного), и вы можете вычислить массив с суммой по элементам дляa
иb
сa b
помощью . Как кто-то может прийти к ТАКОМУ и задать подобный вопрос, не попытавшись.sum()
исначала не сойдя с ума. Надеюсь, я неправильно понял вопрос.
2. @Grismar, я отредактировал свой вопрос. Я хочу добавить массивы по элементам и создать новый массив данных с теми же размерами массивов данных.
3. Итак, ты пробовал
result = xrs[0]; for xr in xrs[1:]: result = xr
? Если это не то, что вам нужно, можете ли вы описать реальную проблему? (кстати, это всего лишь один из способов перебрать список и сложить его элементы, если это то, что вам нужно, вопросxarray
на самом деле совсем не в этом, а в том, «как мне суммировать список на Python».
Ответ №1:
Поскольку вы можете добавить два xarray a
и b
по элементам с помощью простого a b
, и вы говорите, что у вас есть список xarray с одинаковыми размерами (назовем это xrs
так), то вот как вы бы добавили их все:
result = xrs[0] for xr in xrs[1:]: result = xr
Кстати, это совсем не относится к конкретному xarray
вопросу. Если у вас есть список целых xs
чисел, и вы хотите добавить их все:
result = xrs[0] for xr in xrs[1:]: result = xr
И до тех пор, пока операторы сложения будут определены надлежащим образом, sum(xs)
они будут работать так же хорошо. И это делает для xarray
:
result = sum(xrs)