【发布时间】:2022-01-13 23:37:26
【问题描述】:
我有一个名称和大小具有相同维度的多个数据数组的列表,我想对所有数据数组求和并创建一个具有相同数据数组维度的单个数据数组,最好的方法是什么?
[<xarray.DataArray (latitude: 501, longitude: 894)>
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,
.......
.......
<xarray.DataArray (latitude: 501, longitude: 894)>
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]
【问题讨论】:
-
“sum”是指要按元素添加数组,还是要计算数组中所有元素的总和?两者都是微不足道的。您可以使用
.sum()计算总和(这并不奇怪),您可以使用a + b计算具有a和b的元素总和的数组。有人怎么会来 SO 并提出这样的问题而无需尝试.sum()和+首先让我大吃一惊。希望我误解了这个问题。 -
@Grismar,我编辑了我的问题。我想按元素添加数组并创建一个具有相同维度的数据数组的新数据数组。
-
那么,您尝试
result = xrs[0]; for xr in xrs[1:]: result += xr了吗?如果这不是你需要的,你能描述一下实际的问题吗? (顺便说一句,这只是循环列表并将其元素相加的一种方法,如果这是您需要的,那么问题根本不是关于xarray,而是关于“我如何在Python中总结一个列表"
标签: python list sum python-xarray