In [1]:
from ahh import exp, ext
import numpy as np

In [2]:
arr_1d = exp.arr_1d(5) # simple increasing incrementally 5 values 1-dimensional array
print(arr_1d) # reference
ext.ahh(arr_1d); # most simple usage, the semi-colon is just to suppress unnecessary output in Jupyter notebooks


[1 2 3 4 5]

            Name: ahh
          Length: 5
      Dimensions: (5,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 5.000
 Average, Median: 3.000, 3.000

Snippet of values:
[1 2 3 4 5]


In [3]:
arr_1d = exp.arr_1d(5) # simple increasing incrementally 5 values 1-dimensional array
print(arr_1d) # reference
ext.ahh(arr_1d, quiet=True); # only print summary without the edge snippet


[1 2 3 4 5]

            Name: ahh
          Length: 5
      Dimensions: (5,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 5.000
 Average, Median: 3.000, 3.000


In [4]:
x = exp.arr_1d() # x array
ext.ahh(x, n='x') # name the output, method one
ext.ahh(x=x) # method two


            Name: x
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 15.000
 Average, Median: 8.000, 8.000

Snippet of values:
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]

Out[4]:
True
            Name: x
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 15.000
 Average, Median: 8.000, 8.000

Snippet of values:
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]

Out[4]:
True

In [18]:
x = exp.arr_1d() # x array
y = exp.arr_1d(y=True) # y array
z = exp.arr_1d(y=True, neg=True) # y array
ext.ahh(x=x, y=y, z=z) # explore multiple arrays


            Name: y
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 12.281
 Average, Median: 4.460, 3.350

Snippet of values:
[  1.     1.65   2.95   1.25   3.05   4.23   6.1    5.13   1.73   3.35
   8.32   4.43  12.28   1.82   9.61]


            Name: z
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: -9.132, 1.000
 Average, Median: -2.105, -1.326

Snippet of values:
[ 1.    0.23 -0.87 -0.79 -2.86  0.09  0.98 -0.89 -3.   -1.98 -3.88 -3.48
 -9.13 -1.33 -5.66]


            Name: x
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 15.000
 Average, Median: 8.000, 8.000

Snippet of values:
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]

Out[18]:
True

In [6]:
ext.ahhh(x, y, z, arr_1d=arr_1d) # can pass as many variables to ahhh but may not change the settings


            Name: ahh
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 15.000
 Average, Median: 8.000, 8.000

Snippet of values:
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]


            Name: ahh
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 12.027
 Average, Median: 5.390, 5.304

Snippet of values:
[  1.     1.45   2.53   1.84   2.1    3.49   6.47   5.3    4.68   8.85
  10.65   8.47   6.39  12.03   5.61]


            Name: ahh
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: -11.095, 1.000
 Average, Median: -3.841, -2.469

Snippet of values:
[  1.     0.35  -0.6    0.74  -1.34  -0.6   -2.47  -2.44  -5.7   -7.27
  -4.89  -7.75  -5.14 -10.42 -11.09]


            Name: arr_1d
          Length: 5
      Dimensions: (5,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 5.000
 Average, Median: 3.000, 3.000

Snippet of values:
[1 2 3 4 5]


In [7]:
arr_1d = exp.arr_1d(10, y=True) # simple 10 values random array
stop = False # preparation
for i in range(10000): # 10000 iterations
    stop = ext.ahh(arr_1d, stop=stop) # stop spamming the screen after first iteration


            Name: ahh
          Length: 10
      Dimensions: (10,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 5.775
 Average, Median: 3.238, 3.177

Snippet of values:
[ 1.    1.3   2.79  2.24  3.56  5.78  4.03  1.34  5.08  5.26]


In [8]:
arr_df = exp.arr_df() # open a dataframe
ext.ahh(arr_df, col='tmpf', ignore='M'); # select column and ignore a string


            Name: ahh
          Length: 2771
      Dimensions: (2771,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'pandas.core.series.Series'>
Minimum, Maximum: 6.100, 61.000
 Average, Median: 34.618, 32.000

Snippet of values:
[  nan   nan   nan   nan   nan ...,   nan   nan   nan   nan  60.1]


In [9]:
arr_ds = exp.arr_ds() # open a dataset
print(arr_ds) # for reference
ext.ahh(arr_ds, center=15); # print the 15 values in the center


<xarray.Dataset>
Dimensions:  (lat: 73, lon: 144, time: 366)
Coordinates:
  * lat      (lat) float32 90.0 87.5 85.0 82.5 80.0 77.5 75.0 72.5 70.0 67.5 ...
  * lon      (lon) float32 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 22.5 ...
  * time     (time) datetime64[ns] 1948-01-01 1948-01-02 1948-01-03 ...
Data variables:
    air      (time, lat, lon) float64 238.1 238.1 238.1 238.1 238.1 238.1 ...
Attributes:
    Conventions:    COARDS
    title:          mean daily NMC reanalysis (1948)
    description:    Data is from NMC initialized reanalysis\n(4x/day).  These...
    platform:       Model
    history:        created 99/05/11 by Hoop (netCDF2.3)\nConverted to chunke...
    References:     http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reana...
    dataset_title:  NCEP-NCAR Reanalysis 1

            Name: air
          Length: 366
      Dimensions: (366, 73, 144)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 188.290, 315.300
 Average, Median: 277.191, 282.670

Snippet of values:
[ 238.1  238.1  238.1  238.1  238.1 ...,  238.1  238.1  238.1  238.1  238.1]
Center lat indice 36.5, lon indice 72.0:
[ 278.7   281.27  282.39  283.47  284.85 ...,  286.89  287.14  287.7
  287.82  287.52]


In [10]:
arr_1d = exp.arr_1d(10, y=True) # simple 10 values random array
print(arr_1d) # for reference
ext.ahh(arr_1d, precision=5); # print more decimal values


[ 1.    1.98  1.35  3.61  3.45  3.6   2.2   3.48  8.62  1.06]

            Name: ahh
          Length: 10
      Dimensions: (10,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 8.616
 Average, Median: 3.033, 2.822

Snippet of values:
[ 1.       1.97626  1.34846  3.61159  3.44594  3.6012   2.19738  3.47759
  8.61615  1.05648]


In [11]:
arr_1d = exp.arr_1d(100, y=True) # 100 values (long) array
print(arr_1d) # for reference
ext.ahh(arr_1d, edgeitems=10); # print the first and last 10 values of the array


[  1.        1.52572   1.75287   2.30355   4.02141 ...,  14.71216  13.30477
  61.982    34.93621  45.80756]

            Name: ahh
          Length: 100
      Dimensions: (100,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 89.713
 Average, Median: 27.596, 19.703

Snippet of values:
[  1.     1.53   1.75   2.3    4.02   1.66   4.33   7.27   1.01   6.99 ...,
  88.25  15.3   55.88  88.33  89.71  14.71  13.3   61.98  34.94  45.81]


In [12]:
arr_1d = exp.arr_1d(20, y=True) # 20 values (long) array
for i, val in enumerate(arr_1d):
    print(i, val)# for reference, print index and value
ext.ahh(arr_1d, center=5, snippet=False); # print the center of array, but not the edge


0 1.0
1 1.03143862844
2 1.78128833923
3 1.68108897208
4 2.07437133737
5 2.51959340795
6 2.20825139589
7 6.47459304479
8 4.57937378773
9 3.83544716639
10 6.42836904826
11 5.74029407899
12 3.47706773996
13 7.73472957931
14 1.53165827577
15 4.82079596636
16 4.24770920694
17 8.03632754793
18 7.91525035828
19 8.50776652871

            Name: ahh
          Length: 20
      Dimensions: (20,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 8.508
 Average, Median: 4.281, 4.042

Center indice 10.0:
[ 2.52  2.21  6.47  4.58  3.84  6.43  5.74  3.48  7.73  1.53]


In [13]:
arr_1d = exp.arr_1d(5, y=True) * 99999 # really large values greater than 99999.
ext.ahh(arr_1d, fillval_high=9999999); # make min and max show a value


            Name: ahh
          Length: 5
      Dimensions: (5,)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 99999.000, 381306.316
 Average, Median: 229265.777, 213734.331

Snippet of values:
[  99999.    195309.02  255980.22  381306.32  213734.33]


In [21]:
ext.ahh(ds=arr_ds, arr=x) # name=data


            Name: ds
          Length: 366
      Dimensions: (366, 73, 144)
   Unnested Type: <class 'numpy.float64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 188.290, 315.300
 Average, Median: 277.191, 282.670

Snippet of values:
[ 238.1  238.1  238.1  238.1  238.1 ...,  238.1  238.1  238.1  238.1  238.1]


            Name: arr
          Length: 15
      Dimensions: (15,)
   Unnested Type: <class 'numpy.int64'>
Overarching Type: <class 'numpy.ndarray'>
Minimum, Maximum: 1.000, 15.000
 Average, Median: 8.000, 8.000

Snippet of values:
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15]

Out[21]:
True

In [ ]: