iode.Variables.to_numpy
- Variables.to_numpy() ndarray[source]
Create a Numpy ndarray from the current Variables database.
- Returns:
- np.ndarray
Numpy ndarray containing the variables values of the current Variables database or subset.
Examples
>>> from iode import variables, SAMPLE_DATA_DIR >>> variables.load(f"{SAMPLE_DATA_DIR}/fun.var") Loading .../fun.var 394 objects loaded >>> len(variables) 394 >>> variables.sample Sample("1960Y1:2015Y1") >>> variables.nb_periods 56
>>> # export the whole Variables workspace to a numpy ndarray (394 variables x 56 periods) >>> data = variables.to_numpy() >>> data.shape (394, 56) >>> data[5, 40] 442.26441085858613 >>> variables.i[5, 40] 442.26441085858613
>>> # export a subset of names >>> vars_subset = variables["A*"] >>> vars_subset.names ['ACAF', 'ACAG', 'AOUC', 'AOUC_', 'AQC'] >>> vars_subset Workspace: Variables nb variables: 5 filename: ...fun.var description: Modèle fun - Simulation 1 sample: 1960Y1:2015Y1 mode: LEVEL name 1960Y1 1961Y1 1962Y1 1963Y1 ... 2013Y1 2014Y1 2015Y1 ACAF na na na na ... -68.89 -83.34 -96.41 ACAG na na na na ... 31.37 32.42 33.47 AOUC na 0.25 0.25 0.26 ... 1.39 1.42 1.46 AOUC_ na na na na ... 1.34 1.37 1.41 AQC 0.22 0.22 0.22 0.23 ... 1.56 1.61 1.67 >>> data = vars_subset.to_numpy() >>> data.shape (5, 56) >>> data array([[ nan, nan, nan, nan, ... -55.55928982, -68.89465432, -83.34062511, -96.41041983], [ nan, nan, nan, nan, ... 30.32396115, 31.37013881, 32.42029883, 33.46960134], [ nan, 0.24783192, 0.25456766, 0.26379573, ... 1.35553983, 1.38777697, 1.42371396, 1.46086261], [ nan, nan, nan, nan, ... 1.30459041, 1.33808573, 1.37301015, 1.4075568 ], [ 0.21753037, 0.21544869, 0.22228125, 0.22953896, ... 1.51366598, 1.55803879, 1.61318117, 1.67429058]])
>>> # export a subset of names and periods >>> vars_subset = variables["A*", "2000Y1:2010Y1"] >>> vars_subset Workspace: Variables nb variables: 5 filename: ...fun.var description: Modèle fun - Simulation 1 sample: 2000Y1:2010Y1 mode: LEVEL name 2000Y1 2001Y1 2002Y1 2003Y1 ... 2007Y1 2008Y1 2009Y1 2010Y1 ACAF 10.05 2.87 -0.93 -6.09 ... -33.38 -38.41 -37.46 -37.83 ACAG -41.53 18.94 19.98 21.02 ... 25.16 26.19 27.23 28.25 AOUC 1.12 1.14 1.16 1.17 ... 1.22 1.26 1.29 1.31 AOUC_ 1.10 1.14 1.15 1.16 ... 1.20 1.21 1.23 1.25 AQC 1.34 1.38 1.41 1.42 ... 1.41 1.43 1.45 1.46 >>> data = vars_subset.to_numpy() >>> data.shape (5, 11) >>> data array([[ 10.04661079, 2.86792274, -0.92921251, -6.09156499, -14.58209446, -26.53878957, -28.98728798, -33.37842578, -38.40951778, -37.46350964, -37.82742883], [-41.53478657, 18.93980114, 19.98081488, 21.02050218, 22.06647552, 23.10796216, 24.12963715, 25.16090905, 26.19211148, 27.22995512, 28.25392898], [ 1.11623762, 1.14047639, 1.15716928, 1.17048954, 1.16767464, 1.1815207 , 1.19946163, 1.21933288, 1.26280574, 1.28713178, 1.3071099 ], [ 1.1019572 , 1.13624426, 1.15021519, 1.16082895, 1.14802147, 1.16412337, 1.18589708, 1.19516611, 1.21383423, 1.23185399, 1.25016433], [ 1.33860286, 1.37918825, 1.40881647, 1.41970458, 1.40065206, 1.39697298, 1.39806354, 1.40791334, 1.42564488, 1.44633167, 1.46286837]])