'Integrating 2D data with nans using numpy trapz
I have a 2D matrix U of data that looks something like this:
0 0.5 0.1 0.3
0 nan 0.4 0.1
nan nan 0.2 nan
The rows index corresponds to height axis data points zz = [0, 2, 10] and the columns are the horizontal axis data points yy = [0, 3, 7, 9] (not fixed intervals).
I want to integrate this matrix U over the zz and yy axes. In order to do that I thought about using numpy trapz in the following way:
Uy = np.zeros(len(yy))
for y in range(len(yy)):
U_step = U[:,y][~np.isnan(U[:,y])]
x = zz[0:len(U_step)]
Uy[y] = np.trapz(U_step, x=x)
I = np.trapz(Uy, x=yy)
However, the result I get is not similar to what I expect (value is too low), so I wonder if there is something wrong with the way I integrate, or maybe I should use other functions?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
