-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Ok so here is the problem I'm trying to solve, for which I did not find any solution:
I have a spatial dataset with the following format (tempeature over time on a spatial grid):
Dimensions: (depth: 1, latitude: 481, longitude: 781, time: 730)
Coordinates:
* time (time) datetime64[ns] 2016-01-01T11:59:37.961193472 ...
* longitude (longitude) float32 -75.0 -74.9167 -74.8333 -74.75 -74.6667 ...
* latitude (latitude) float32 25.0 25.0833 25.1667 25.25 25.3333 25.4167 ...
* depth (depth) float32 0.494025
Data variables:
thetao (time, depth, latitude, longitude) float64 ...
Attributes:
title: daily mean fields from Global Ocean Physics Analysis an...
institution: MERCATOR OCEAN
references: http://www.mercator-ocean.fr
source: MERCATOR PSY4QV3R1
Conventions: CF-1.0
history: Data extracted from dataset http://opendap-glo.mercator...
time_min: 578556.0
time_max: 596052.0
julian_day_unit: hours since 1950-01-01 00:00:00
z_min: 0.494024991989
z_max: 0.494024991989
latitude_min: 25.0
latitude_max: 65.0
longitude_min: -75.0
longitude_max: -10.0
These all contain temperture values. From another source I receive specially calibrated mean and standard deviation of temperatures for every day of the year. The mean dataset (std is the same) looks like this:
Dimensions: (dayofyear: 366, depth: 1, latitude: 481, longitude: 781)
Coordinates:
* longitude (longitude) float32 -75.0 -74.9167 -74.8333 -74.75 -74.6667 ...
* latitude (latitude) float32 25.0 25.0833 25.1667 25.25 25.3333 25.4167 ...
* depth (depth) float32 0.494025
* dayofyear (dayofyear) int64 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
Data variables:
thetao (dayofyear, depth, latitude, longitude) float64 25.06 25.16 ...
What I want to achieve is to construct from the temperatures dataset a new one with standardized temperatures. The issue is I do not know how. The first thing I thought is to do something like:
new_dset = (dset.groupby("time.dateofyear") - mean) / std
However, the issue now is that I can't undo the "groupby". At this point I did not manage to figure out of how to either undo this, or in general the right approach for performing the operation I want.