如何用python循环读出一个三维array里每一个格点的正值并计数,得到全是正值的data1和每一个格点正值次数的data2
时间: 2024-05-03 08:22:04 浏览: 6
好的,我可以帮你回答这个问题。可以使用Python中的numpy库来实现这个功能。以下是代码示例:
```python
import numpy as np
# 生成一个随机的三维数组
arr = np.random.randn(2, 3, 4)
# 将负值设为0
arr[arr < 0] = 0
# 计算每个格点正值的次数
positive_count = np.sum(arr > 0, axis=(0, 1, 2))
# 取出所有正值元素创建新的数组
pos_arr = arr[arr > 0]
# 打印输出结果
print("Array with only positive values:", pos_arr)
print("Positive value count for each grid point:", positive_count)
```
这段代码中,我们首先生成了一个随机的三维数组,然后将其中的负值全部设为0。接着,使用numpy中的sum函数,我们可以计算出每个格点正值的次数,并将其保存在positive_count变量中。最后,我们使用布尔索引的方式将所有正值的元素取出来,创建一个新的数组pos_arr。
希望这个代码能够帮助到你。如果还有其他问题,请随时问我。