In [ ]:
import csv

def csv_to_dl(csv_file: str, delimiter: str=",") -> dict[str, list[str]]:
    """
    Return a dictionary in which each key corresponds to a list of strings, the
    entire column of data for that field in the CSV file specified by csv_file.
    Optionally, provide a different delimiter from the default ",".
    """
    ret: dict[str, list[str]] = {}
    with open(csv_file) as fh:
        rdr = csv.DictReader(fh, delimiter=delimiter)
        for field in rdr.fieldnames or []:
            ret[field] = []
        for row in rdr:
            for field in row:
                ret[field].append(row[field])
    return ret

assert len(csv_to_dl("nino34.csv")["TOTAL"]) == 909, "Entire file converted into list"
assert csv_to_dl("nino34.csv")["YR"][0] == "1950", "First year is as in the original file"
In [ ]:
import numpy as np

nino = csv_to_dl("nino34.csv")
out = {}
for key in nino:
    lst = nino[key]
    lst_num = []
    for el in lst:
        lst_num.append(float(el))
    out[key] = np.array(lst_num)
print(out)
{'YR': array([1950., 1950., 1950., 1950., 1950., 1950., 1950., 1950., 1950.,
       1950., 1950., 1950., 1951., 1951., 1951., 1951., 1951., 1951.,
       1951., 1951., 1951., 1951., 1951., 1951., 1952., 1952., 1952.,
       1952., 1952., 1952., 1952., 1952., 1952., 1952., 1952., 1952.,
       1953., 1953., 1953., 1953., 1953., 1953., 1953., 1953., 1953.,
       1953., 1953., 1953., 1954., 1954., 1954., 1954., 1954., 1954.,
       1954., 1954., 1954., 1954., 1954., 1954., 1955., 1955., 1955.,
       1955., 1955., 1955., 1955., 1955., 1955., 1955., 1955., 1955.,
       1956., 1956., 1956., 1956., 1956., 1956., 1956., 1956., 1956.,
       1956., 1956., 1956., 1957., 1957., 1957., 1957., 1957., 1957.,
       1957., 1957., 1957., 1957., 1957., 1957., 1958., 1958., 1958.,
       1958., 1958., 1958., 1958., 1958., 1958., 1958., 1958., 1958.,
       1959., 1959., 1959., 1959., 1959., 1959., 1959., 1959., 1959.,
       1959., 1959., 1959., 1960., 1960., 1960., 1960., 1960., 1960.,
       1960., 1960., 1960., 1960., 1960., 1960., 1961., 1961., 1961.,
       1961., 1961., 1961., 1961., 1961., 1961., 1961., 1961., 1961.,
       1962., 1962., 1962., 1962., 1962., 1962., 1962., 1962., 1962.,
       1962., 1962., 1962., 1963., 1963., 1963., 1963., 1963., 1963.,
       1963., 1963., 1963., 1963., 1963., 1963., 1964., 1964., 1964.,
       1964., 1964., 1964., 1964., 1964., 1964., 1964., 1964., 1964.,
       1965., 1965., 1965., 1965., 1965., 1965., 1965., 1965., 1965.,
       1965., 1965., 1965., 1966., 1966., 1966., 1966., 1966., 1966.,
       1966., 1966., 1966., 1966., 1966., 1966., 1967., 1967., 1967.,
       1967., 1967., 1967., 1967., 1967., 1967., 1967., 1967., 1967.,
       1968., 1968., 1968., 1968., 1968., 1968., 1968., 1968., 1968.,
       1968., 1968., 1968., 1969., 1969., 1969., 1969., 1969., 1969.,
       1969., 1969., 1969., 1969., 1969., 1969., 1970., 1970., 1970.,
       1970., 1970., 1970., 1970., 1970., 1970., 1970., 1970., 1970.,
       1971., 1971., 1971., 1971., 1971., 1971., 1971., 1971., 1971.,
       1971., 1971., 1971., 1972., 1972., 1972., 1972., 1972., 1972.,
       1972., 1972., 1972., 1972., 1972., 1972., 1973., 1973., 1973.,
       1973., 1973., 1973., 1973., 1973., 1973., 1973., 1973., 1973.,
       1974., 1974., 1974., 1974., 1974., 1974., 1974., 1974., 1974.,
       1974., 1974., 1974., 1975., 1975., 1975., 1975., 1975., 1975.,
       1975., 1975., 1975., 1975., 1975., 1975., 1976., 1976., 1976.,
       1976., 1976., 1976., 1976., 1976., 1976., 1976., 1976., 1976.,
       1977., 1977., 1977., 1977., 1977., 1977., 1977., 1977., 1977.,
       1977., 1977., 1977., 1978., 1978., 1978., 1978., 1978., 1978.,
       1978., 1978., 1978., 1978., 1978., 1978., 1979., 1979., 1979.,
       1979., 1979., 1979., 1979., 1979., 1979., 1979., 1979., 1979.,
       1980., 1980., 1980., 1980., 1980., 1980., 1980., 1980., 1980.,
       1980., 1980., 1980., 1981., 1981., 1981., 1981., 1981., 1981.,
       1981., 1981., 1981., 1981., 1981., 1981., 1982., 1982., 1982.,
       1982., 1982., 1982., 1982., 1982., 1982., 1982., 1982., 1982.,
       1983., 1983., 1983., 1983., 1983., 1983., 1983., 1983., 1983.,
       1983., 1983., 1983., 1984., 1984., 1984., 1984., 1984., 1984.,
       1984., 1984., 1984., 1984., 1984., 1984., 1985., 1985., 1985.,
       1985., 1985., 1985., 1985., 1985., 1985., 1985., 1985., 1985.,
       1986., 1986., 1986., 1986., 1986., 1986., 1986., 1986., 1986.,
       1986., 1986., 1986., 1987., 1987., 1987., 1987., 1987., 1987.,
       1987., 1987., 1987., 1987., 1987., 1987., 1988., 1988., 1988.,
       1988., 1988., 1988., 1988., 1988., 1988., 1988., 1988., 1988.,
       1989., 1989., 1989., 1989., 1989., 1989., 1989., 1989., 1989.,
       1989., 1989., 1989., 1990., 1990., 1990., 1990., 1990., 1990.,
       1990., 1990., 1990., 1990., 1990., 1990., 1991., 1991., 1991.,
       1991., 1991., 1991., 1991., 1991., 1991., 1991., 1991., 1991.,
       1992., 1992., 1992., 1992., 1992., 1992., 1992., 1992., 1992.,
       1992., 1992., 1992., 1993., 1993., 1993., 1993., 1993., 1993.,
       1993., 1993., 1993., 1993., 1993., 1993., 1994., 1994., 1994.,
       1994., 1994., 1994., 1994., 1994., 1994., 1994., 1994., 1994.,
       1995., 1995., 1995., 1995., 1995., 1995., 1995., 1995., 1995.,
       1995., 1995., 1995., 1996., 1996., 1996., 1996., 1996., 1996.,
       1996., 1996., 1996., 1996., 1996., 1996., 1997., 1997., 1997.,
       1997., 1997., 1997., 1997., 1997., 1997., 1997., 1997., 1997.,
       1998., 1998., 1998., 1998., 1998., 1998., 1998., 1998., 1998.,
       1998., 1998., 1998., 1999., 1999., 1999., 1999., 1999., 1999.,
       1999., 1999., 1999., 1999., 1999., 1999., 2000., 2000., 2000.,
       2000., 2000., 2000., 2000., 2000., 2000., 2000., 2000., 2000.,
       2001., 2001., 2001., 2001., 2001., 2001., 2001., 2001., 2001.,
       2001., 2001., 2001., 2002., 2002., 2002., 2002., 2002., 2002.,
       2002., 2002., 2002., 2002., 2002., 2002., 2003., 2003., 2003.,
       2003., 2003., 2003., 2003., 2003., 2003., 2003., 2003., 2003.,
       2004., 2004., 2004., 2004., 2004., 2004., 2004., 2004., 2004.,
       2004., 2004., 2004., 2005., 2005., 2005., 2005., 2005., 2005.,
       2005., 2005., 2005., 2005., 2005., 2005., 2006., 2006., 2006.,
       2006., 2006., 2006., 2006., 2006., 2006., 2006., 2006., 2006.,
       2007., 2007., 2007., 2007., 2007., 2007., 2007., 2007., 2007.,
       2007., 2007., 2007., 2008., 2008., 2008., 2008., 2008., 2008.,
       2008., 2008., 2008., 2008., 2008., 2008., 2009., 2009., 2009.,
       2009., 2009., 2009., 2009., 2009., 2009., 2009., 2009., 2009.,
       2010., 2010., 2010., 2010., 2010., 2010., 2010., 2010., 2010.,
       2010., 2010., 2010., 2011., 2011., 2011., 2011., 2011., 2011.,
       2011., 2011., 2011., 2011., 2011., 2011., 2012., 2012., 2012.,
       2012., 2012., 2012., 2012., 2012., 2012., 2012., 2012., 2012.,
       2013., 2013., 2013., 2013., 2013., 2013., 2013., 2013., 2013.,
       2013., 2013., 2013., 2014., 2014., 2014., 2014., 2014., 2014.,
       2014., 2014., 2014., 2014., 2014., 2014., 2015., 2015., 2015.,
       2015., 2015., 2015., 2015., 2015., 2015., 2015., 2015., 2015.,
       2016., 2016., 2016., 2016., 2016., 2016., 2016., 2016., 2016.,
       2016., 2016., 2016., 2017., 2017., 2017., 2017., 2017., 2017.,
       2017., 2017., 2017., 2017., 2017., 2017., 2018., 2018., 2018.,
       2018., 2018., 2018., 2018., 2018., 2018., 2018., 2018., 2018.,
       2019., 2019., 2019., 2019., 2019., 2019., 2019., 2019., 2019.,
       2019., 2019., 2019., 2020., 2020., 2020., 2020., 2020., 2020.,
       2020., 2020., 2020., 2020., 2020., 2020., 2021., 2021., 2021.,
       2021., 2021., 2021., 2021., 2021., 2021., 2021., 2021., 2021.,
       2022., 2022., 2022., 2022., 2022., 2022., 2022., 2022., 2022.,
       2022., 2022., 2022., 2023., 2023., 2023., 2023., 2023., 2023.,
       2023., 2023., 2023., 2023., 2023., 2023., 2024., 2024., 2024.,
       2024., 2024., 2024., 2024., 2024., 2024., 2024., 2024., 2024.,
       2025., 2025., 2025., 2025., 2025., 2025., 2025., 2025., 2025.]), 'MON': array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.,
       11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,
       12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
        1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.,
       11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,
       12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
        1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.,
       11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,
       12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
        1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.,
       11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,
       12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
        1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.,
       11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11.,
       12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,
        1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,
        2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,
        3.,  4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,
        4.,  5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,
        5.,  6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,
        6.,  7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,
        7.,  8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,
        8.,  9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,
        9., 10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.,
       10., 11., 12.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.]), 'TOTAL': array([24.56, 25.07, 25.88, 26.29, 26.19, 26.47, 26.28, 25.88, 25.73,
       25.68, 25.46, 25.29, 25.26, 25.72, 26.91, 27.59, 27.93, 27.73,
       27.59, 27.01, 27.22, 27.2 , 27.25, 26.92, 26.67, 26.75, 27.19,
       27.81, 27.79, 27.18, 26.52, 26.3 , 26.35, 26.25, 25.92, 26.21,
       26.74, 27.  , 27.57, 28.03, 28.28, 28.12, 27.42, 26.93, 27.  ,
       26.87, 26.88, 27.01, 26.98, 27.03, 26.91, 26.65, 27.11, 26.79,
       26.1 , 25.42, 25.11, 25.22, 25.56, 25.26, 25.62, 25.82, 26.23,
       26.61, 26.65, 26.54, 26.14, 25.5 , 25.28, 24.41, 24.25, 24.57,
       25.34, 25.77, 26.47, 26.86, 27.13, 26.81, 26.22, 25.67, 25.72,
       25.74, 25.56, 25.71, 26.04, 26.54, 27.46, 28.23, 28.54, 28.35,
       28.15, 27.68, 27.42, 27.41, 27.62, 27.89, 28.32, 28.24, 28.27,
       28.28, 28.3 , 27.98, 27.31, 26.84, 26.4 , 26.45, 26.75, 26.61,
       27.07, 27.18, 27.47, 27.88, 27.69, 27.36, 26.43, 26.09, 25.92,
       26.24, 26.04, 26.18, 26.26, 26.29, 26.99, 27.49, 27.68, 27.23,
       26.87, 26.69, 26.43, 26.21, 26.25, 26.22, 26.23, 26.56, 26.94,
       27.37, 27.75, 27.66, 26.87, 26.18, 25.78, 25.7 , 26.07, 25.98,
       25.96, 26.2 , 26.81, 27.13, 27.05, 27.08, 26.75, 26.32, 25.93,
       25.96, 25.75, 25.67, 25.77, 26.23, 27.18, 27.79, 27.63, 27.61,
       27.77, 27.47, 27.39, 27.35, 27.46, 27.61, 27.33, 27.13, 27.02,
       26.95, 26.82, 26.58, 26.33, 25.59, 25.32, 25.36, 25.26, 25.22,
       25.66, 26.2 , 26.95, 27.38, 27.99, 28.08, 27.89, 27.96, 28.  ,
       28.15, 28.11, 27.95, 27.66, 27.55, 28.21, 28.16, 27.55, 27.63,
       27.32, 26.48, 26.27, 26.22, 26.23, 26.02, 25.88, 26.12, 26.51,
       26.75, 27.35, 27.46, 26.96, 26.43, 25.85, 25.96, 26.07, 25.95,
       25.69, 25.69, 26.34, 27.1 , 27.19, 27.87, 27.57, 27.  , 26.72,
       26.75, 27.2 , 27.27, 27.5 , 27.86, 27.83, 28.14, 28.29, 27.69,
       27.08, 27.02, 27.15, 27.34, 27.11, 26.98, 26.84, 26.96, 27.15,
       27.75, 27.63, 27.03, 26.21, 25.59, 25.64, 25.59, 25.57, 25.27,
       24.82, 25.2 , 25.93, 26.64, 26.95, 26.6 , 26.12, 25.74, 25.71,
       25.47, 25.55, 25.37, 25.63, 26.31, 27.09, 27.9 , 28.31, 28.18,
       28.14, 27.94, 27.94, 28.25, 28.6 , 28.68, 28.33, 27.95, 27.56,
       27.25, 26.97, 26.55, 25.76, 25.23, 25.06, 24.74, 24.34, 24.34,
       24.47, 25.11, 25.86, 26.48, 26.65, 26.53, 26.39, 26.33, 26.07,
       25.77, 25.61, 25.63, 26.1 , 26.08, 26.21, 26.87, 26.8 , 26.23,
       25.9 , 25.34, 25.05, 24.89, 25.05, 24.67, 24.54, 25.49, 26.46,
       26.89, 27.2 , 27.35, 27.12, 26.98, 27.02, 27.46, 27.41, 27.08,
       27.32, 27.13, 27.48, 27.45, 27.72, 27.74, 27.38, 26.84, 27.11,
       27.34, 27.18, 27.29, 27.17, 27.01, 27.1 , 27.12, 27.2 , 27.02,
       26.74, 26.07, 26.01, 26.25, 26.32, 26.54, 26.42, 26.54, 27.28,
       27.84, 27.69, 27.43, 26.82, 26.75, 26.99, 26.83, 26.99, 27.11,
       27.09, 26.98, 27.32, 27.76, 28.02, 27.94, 27.23, 26.48, 26.44,
       26.46, 26.6 , 26.65, 26.19, 26.12, 26.66, 27.3 , 27.36, 27.27,
       26.65, 26.32, 26.52, 26.42, 26.29, 26.4 , 26.68, 26.6 , 27.42,
       28.03, 28.39, 28.26, 27.66, 27.58, 28.2 , 28.69, 28.61, 28.79,
       28.88, 28.69, 28.67, 28.77, 28.84, 28.28, 27.19, 26.6 , 26.2 ,
       25.57, 25.42, 25.58, 25.88, 26.57, 26.78, 27.15, 27.2 , 26.83,
       26.78, 26.6 , 26.38, 26.04, 25.52, 25.26, 25.39, 26.04, 26.5 ,
       26.65, 26.91, 26.81, 26.55, 26.29, 26.02, 26.23, 26.33, 26.19,
       25.89, 26.06, 26.88, 27.49, 27.41, 27.42, 27.18, 27.17, 27.24,
       27.51, 27.7 , 27.71, 27.68, 27.89, 28.27, 28.4 , 28.56, 28.64,
       28.58, 28.41, 28.36, 27.95, 27.77, 27.54, 27.45, 27.04, 27.39,
       27.38, 26.68, 25.99, 25.56, 25.67, 25.72, 24.82, 24.66, 24.64,
       24.59, 25.29, 26.09, 26.75, 27.07, 27.14, 26.71, 26.32, 26.41,
       26.32, 26.25, 26.46, 26.56, 26.98, 27.34, 27.9 , 28.02, 27.65,
       27.38, 27.07, 26.94, 26.93, 26.81, 26.96, 27.04, 27.08, 27.33,
       28.02, 28.2 , 28.25, 28.05, 27.53, 27.14, 27.58, 27.89, 28.28,
       28.37, 28.53, 28.66, 29.02, 28.97, 28.3 , 27.51, 26.91, 26.66,
       26.42, 26.42, 26.45, 26.7 , 27.17, 27.68, 28.41, 28.71, 28.08,
       27.52, 26.99, 27.07, 26.78, 26.71, 26.76, 26.65, 26.82, 27.39,
       28.08, 28.24, 28.04, 27.54, 27.38, 27.19, 27.47, 27.81, 27.85,
       27.57, 27.49, 27.76, 28.11, 27.83, 27.59, 27.08, 26.23, 25.88,
       25.84, 25.61, 25.66, 25.7 , 25.91, 26.69, 27.36, 27.55, 27.29,
       26.85, 26.64, 26.27, 26.27, 26.29, 25.96, 26.02, 26.39, 27.05,
       27.99, 28.58, 28.81, 28.85, 28.74, 28.84, 29.07, 29.11, 28.89,
       28.93, 28.79, 28.63, 28.61, 28.52, 27.35, 26.32, 25.59, 25.47,
       25.26, 25.25, 24.92, 24.87, 25.44, 26.34, 26.71, 26.79, 26.54,
       26.13, 25.64, 25.63, 25.48, 25.13, 24.87, 24.79, 25.23, 26.31,
       26.96, 27.08, 26.95, 26.63, 26.37, 26.2 , 26.02, 25.92, 25.69,
       25.82, 26.14, 26.82, 27.34, 27.6 , 27.54, 27.25, 26.8 , 26.52,
       26.57, 26.34, 26.2 , 26.4 , 26.72, 27.3 , 27.85, 28.24, 28.44,
       28.03, 27.72, 27.81, 27.96, 28.16, 27.97, 27.16, 27.4 , 27.66,
       27.69, 27.32, 27.44, 27.5 , 27.11, 26.98, 27.14, 27.04, 27.04,
       26.83, 27.  , 27.41, 27.89, 27.99, 27.85, 27.77, 27.6 , 27.52,
       27.44, 27.36, 27.34, 27.21, 27.12, 27.74, 28.09, 28.24, 27.77,
       27.07, 26.8 , 26.68, 26.65, 26.11, 25.68, 25.64, 26.09, 26.58,
       27.51, 27.85, 27.73, 27.3 , 27.16, 27.32, 27.42, 27.7 , 27.74,
       27.25, 26.9 , 27.12, 27.51, 27.46, 27.37, 26.7 , 26.13, 25.61,
       25.33, 25.17, 25.02, 24.87, 25.1 , 26.09, 26.84, 27.09, 27.04,
       26.99, 26.72, 26.47, 26.37, 26.25, 25.74, 25.67, 25.97, 26.6 ,
       27.48, 27.99, 28.04, 27.77, 27.42, 27.4 , 27.61, 28.15, 28.33,
       28.06, 28.01, 28.19, 28.21, 27.72, 27.04, 26.22, 25.47, 25.12,
       25.03, 25.06, 25.  , 25.01, 25.66, 26.38, 27.07, 27.41, 27.35,
       26.87, 26.21, 25.92, 25.67, 25.52, 25.55, 25.68, 26.1 , 26.69,
       27.33, 27.62, 27.75, 27.54, 27.32, 27.1 , 26.98, 26.86, 26.35,
       26.02, 26.25, 27.04, 27.58, 27.53, 27.3 , 26.9 , 26.47, 26.53,
       26.52, 26.56, 26.43, 26.06, 26.15, 27.02, 27.91, 28.26, 27.96,
       27.23, 26.83, 27.01, 27.16, 27.46, 27.32, 27.06, 27.18, 27.77,
       28.53, 28.85, 28.9 , 28.75, 28.78, 28.92, 29.07, 29.41, 29.26,
       29.11, 29.  , 28.9 , 28.73, 28.24, 27.7 , 26.82, 26.28, 26.15,
       25.98, 25.95, 26.1 , 26.12, 26.68, 27.33, 28.04, 28.3 , 28.06,
       27.54, 26.7 , 26.29, 26.15, 25.74, 25.62, 25.57, 25.98, 26.5 ,
       27.32, 27.74, 27.77, 27.42, 26.95, 27.19, 27.62, 27.61, 27.49,
       27.2 , 27.48, 28.1 , 28.45, 28.49, 28.18, 27.64, 26.9 , 26.75,
       27.2 , 27.23, 27.12, 27.16, 27.13, 27.77, 28.19, 27.66, 27.39,
       26.99, 26.27, 25.89, 25.46, 25.28, 25.45, 25.56, 25.76, 26.5 ,
       27.11, 27.48, 27.45, 26.9 , 26.32, 26.16, 25.78, 25.76, 25.54,
       25.61, 25.88, 26.33, 26.72, 26.83, 26.98, 26.6 , 25.88, 25.65,
       25.73, 25.8 , 25.75, 25.83, 26.3 , 27.18, 27.96, 28.39, 28.56,
       28.31, 28.2 , 28.32, 28.44, 28.72, 28.63, 28.36, 28.28, 28.42,
       28.6 , 28.17, 27.9 , 27.34, 26.74, 26.46, 26.45, 26.46, 26.  ,
       25.82, 26.34, 27.31, 27.69, 27.81, 27.66, 27.15, 26.49, 26.26]), 'ClimAdjust': array([26.18, 26.39, 26.95, 27.39, 27.56, 27.21, 26.72, 26.3 , 26.14,
       26.01, 26.06, 26.18, 26.18, 26.39, 26.95, 27.39, 27.56, 27.21,
       26.72, 26.3 , 26.14, 26.01, 26.06, 26.18, 26.18, 26.39, 26.95,
       27.39, 27.56, 27.21, 26.72, 26.3 , 26.14, 26.01, 26.06, 26.18,
       26.18, 26.39, 26.95, 27.39, 27.56, 27.21, 26.72, 26.3 , 26.14,
       26.01, 26.06, 26.18, 26.18, 26.39, 26.95, 27.39, 27.56, 27.21,
       26.72, 26.3 , 26.14, 26.01, 26.06, 26.18, 26.18, 26.39, 26.95,
       27.39, 27.56, 27.21, 26.72, 26.3 , 26.14, 26.01, 26.06, 26.18,
       26.33, 26.51, 27.01, 27.46, 27.59, 27.29, 26.8 , 26.32, 26.15,
       26.03, 26.1 , 26.18, 26.33, 26.51, 27.01, 27.46, 27.59, 27.29,
       26.8 , 26.32, 26.15, 26.03, 26.1 , 26.18, 26.33, 26.51, 27.01,
       27.46, 27.59, 27.29, 26.8 , 26.32, 26.15, 26.03, 26.1 , 26.18,
       26.33, 26.51, 27.01, 27.46, 27.59, 27.29, 26.8 , 26.32, 26.15,
       26.03, 26.1 , 26.18, 26.33, 26.51, 27.01, 27.46, 27.59, 27.29,
       26.8 , 26.32, 26.15, 26.03, 26.1 , 26.18, 26.27, 26.45, 26.92,
       27.37, 27.49, 27.22, 26.76, 26.3 , 26.16, 26.09, 26.08, 26.14,
       26.27, 26.45, 26.92, 27.37, 27.49, 27.22, 26.76, 26.3 , 26.16,
       26.09, 26.08, 26.14, 26.27, 26.45, 26.92, 27.37, 27.49, 27.22,
       26.76, 26.3 , 26.16, 26.09, 26.08, 26.14, 26.27, 26.45, 26.92,
       27.37, 27.49, 27.22, 26.76, 26.3 , 26.16, 26.09, 26.08, 26.14,
       26.27, 26.45, 26.92, 27.37, 27.49, 27.22, 26.76, 26.3 , 26.16,
       26.09, 26.08, 26.14, 26.36, 26.56, 27.02, 27.4 , 27.53, 27.35,
       26.9 , 26.46, 26.34, 26.33, 26.35, 26.33, 26.36, 26.56, 27.02,
       27.4 , 27.53, 27.35, 26.9 , 26.46, 26.34, 26.33, 26.35, 26.33,
       26.36, 26.56, 27.02, 27.4 , 27.53, 27.35, 26.9 , 26.46, 26.34,
       26.33, 26.35, 26.33, 26.36, 26.56, 27.02, 27.4 , 27.53, 27.35,
       26.9 , 26.46, 26.34, 26.33, 26.35, 26.33, 26.36, 26.56, 27.02,
       27.4 , 27.53, 27.35, 26.9 , 26.46, 26.34, 26.33, 26.35, 26.33,
       26.42, 26.61, 27.06, 27.44, 27.56, 27.38, 26.94, 26.54, 26.42,
       26.43, 26.43, 26.4 , 26.42, 26.61, 27.06, 27.44, 27.56, 27.38,
       26.94, 26.54, 26.42, 26.43, 26.43, 26.4 , 26.42, 26.61, 27.06,
       27.44, 27.56, 27.38, 26.94, 26.54, 26.42, 26.43, 26.43, 26.4 ,
       26.42, 26.61, 27.06, 27.44, 27.56, 27.38, 26.94, 26.54, 26.42,
       26.43, 26.43, 26.4 , 26.42, 26.61, 27.06, 27.44, 27.56, 27.38,
       26.94, 26.54, 26.42, 26.43, 26.43, 26.4 , 26.39, 26.59, 27.04,
       27.42, 27.51, 27.35, 26.95, 26.59, 26.51, 26.48, 26.46, 26.43,
       26.39, 26.59, 27.04, 27.42, 27.51, 27.35, 26.95, 26.59, 26.51,
       26.48, 26.46, 26.43, 26.39, 26.59, 27.04, 27.42, 27.51, 27.35,
       26.95, 26.59, 26.51, 26.48, 26.46, 26.43, 26.39, 26.59, 27.04,
       27.42, 27.51, 27.35, 26.95, 26.59, 26.51, 26.48, 26.46, 26.43,
       26.39, 26.59, 27.04, 27.42, 27.51, 27.35, 26.95, 26.59, 26.51,
       26.48, 26.46, 26.43, 26.57, 26.75, 27.17, 27.59, 27.66, 27.46,
       27.02, 26.64, 26.56, 26.53, 26.52, 26.51, 26.57, 26.75, 27.17,
       27.59, 27.66, 27.46, 27.02, 26.64, 26.56, 26.53, 26.52, 26.51,
       26.57, 26.75, 27.17, 27.59, 27.66, 27.46, 27.02, 26.64, 26.56,
       26.53, 26.52, 26.51, 26.57, 26.75, 27.17, 27.59, 27.66, 27.46,
       27.02, 26.64, 26.56, 26.53, 26.52, 26.51, 26.57, 26.75, 27.17,
       27.59, 27.66, 27.46, 27.02, 26.64, 26.56, 26.53, 26.52, 26.51,
       26.46, 26.66, 27.14, 27.58, 27.68, 27.43, 27.01, 26.66, 26.59,
       26.54, 26.5 , 26.47, 26.46, 26.66, 27.14, 27.58, 27.68, 27.43,
       27.01, 26.66, 26.59, 26.54, 26.5 , 26.47, 26.46, 26.66, 27.14,
       27.58, 27.68, 27.43, 27.01, 26.66, 26.59, 26.54, 26.5 , 26.47,
       26.46, 26.66, 27.14, 27.58, 27.68, 27.43, 27.01, 26.66, 26.59,
       26.54, 26.5 , 26.47, 26.46, 26.66, 27.14, 27.58, 27.68, 27.43,
       27.01, 26.66, 26.59, 26.54, 26.5 , 26.47, 26.59, 26.79, 27.28,
       27.7 , 27.8 , 27.6 , 27.19, 26.84, 26.78, 26.76, 26.7 , 26.66,
       26.59, 26.79, 27.28, 27.7 , 27.8 , 27.6 , 27.19, 26.84, 26.78,
       26.76, 26.7 , 26.66, 26.59, 26.79, 27.28, 27.7 , 27.8 , 27.6 ,
       27.19, 26.84, 26.78, 26.76, 26.7 , 26.66, 26.59, 26.79, 27.28,
       27.7 , 27.8 , 27.6 , 27.19, 26.84, 26.78, 26.76, 26.7 , 26.66,
       26.59, 26.79, 27.28, 27.7 , 27.8 , 27.6 , 27.19, 26.84, 26.78,
       26.76, 26.7 , 26.66, 26.56, 26.75, 27.24, 27.72, 27.81, 27.59,
       27.18, 26.83, 26.73, 26.67, 26.63, 26.56, 26.56, 26.75, 27.24,
       27.72, 27.81, 27.59, 27.18, 26.83, 26.73, 26.67, 26.63, 26.56,
       26.56, 26.75, 27.24, 27.72, 27.81, 27.59, 27.18, 26.83, 26.73,
       26.67, 26.63, 26.56, 26.56, 26.75, 27.24, 27.72, 27.81, 27.59,
       27.18, 26.83, 26.73, 26.67, 26.63, 26.56, 26.56, 26.75, 27.24,
       27.72, 27.81, 27.59, 27.18, 26.83, 26.73, 26.67, 26.63, 26.56,
       26.45, 26.66, 27.21, 27.73, 27.85, 27.65, 27.26, 26.91, 26.8 ,
       26.75, 26.75, 26.65, 26.45, 26.66, 27.21, 27.73, 27.85, 27.65,
       27.26, 26.91, 26.8 , 26.75, 26.75, 26.65, 26.45, 26.66, 27.21,
       27.73, 27.85, 27.65, 27.26, 26.91, 26.8 , 26.75, 26.75, 26.65,
       26.45, 26.66, 27.21, 27.73, 27.85, 27.65, 27.26, 26.91, 26.8 ,
       26.75, 26.75, 26.65, 26.45, 26.66, 27.21, 27.73, 27.85, 27.65,
       27.26, 26.91, 26.8 , 26.75, 26.75, 26.65, 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72,
       26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29, 27.83, 27.94, 27.73,
       27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 , 26.55, 26.76, 27.29,
       27.83, 27.94, 27.73, 27.29, 26.86, 26.72, 26.72, 26.7 , 26.6 ,
       26.55, 26.76, 27.29, 27.83, 27.94, 27.73, 27.29, 26.86, 26.72]), 'ANOM': array([-1.62, -1.32, -1.07, -1.11, -1.37, -0.74, -0.44, -0.42, -0.41,
       -0.32, -0.6 , -0.88, -0.92, -0.66, -0.04,  0.2 ,  0.37,  0.52,
        0.87,  0.71,  1.08,  1.19,  1.19,  0.74,  0.49,  0.37,  0.24,
        0.42,  0.23, -0.03, -0.2 ,  0.  ,  0.21,  0.25, -0.14,  0.03,
        0.56,  0.61,  0.62,  0.64,  0.71,  0.9 ,  0.7 ,  0.63,  0.85,
        0.86,  0.82,  0.83,  0.8 ,  0.64, -0.04, -0.74, -0.45, -0.42,
       -0.62, -0.88, -1.03, -0.78, -0.5 , -0.91, -0.56, -0.57, -0.72,
       -0.78, -0.91, -0.67, -0.58, -0.8 , -0.87, -1.6 , -1.81, -1.61,
       -0.99, -0.74, -0.54, -0.6 , -0.46, -0.48, -0.58, -0.65, -0.43,
       -0.29, -0.54, -0.47, -0.29,  0.02,  0.45,  0.77,  0.94,  1.05,
        1.34,  1.36,  1.27,  1.37,  1.52,  1.71,  1.98,  1.72,  1.26,
        0.81,  0.71,  0.69,  0.51,  0.52,  0.25,  0.41,  0.65,  0.44,
        0.74,  0.67,  0.46,  0.42,  0.1 ,  0.07, -0.37, -0.24, -0.23,
        0.2 , -0.06,  0.  , -0.07, -0.22, -0.02,  0.03,  0.08, -0.06,
        0.07,  0.36,  0.28,  0.18,  0.15,  0.04, -0.04,  0.1 ,  0.02,
        0.  ,  0.26,  0.44,  0.11, -0.12, -0.38, -0.38, -0.01, -0.16,
       -0.3 , -0.26, -0.11, -0.24, -0.44, -0.14,  0.  ,  0.02, -0.23,
       -0.12, -0.32, -0.47, -0.5 , -0.23,  0.26,  0.41,  0.14,  0.39,
        1.02,  1.17,  1.23,  1.26,  1.39,  1.47,  1.06,  0.68,  0.1 ,
       -0.42, -0.67, -0.64, -0.43, -0.72, -0.84, -0.73, -0.82, -0.92,
       -0.61, -0.25,  0.03,  0.01,  0.5 ,  0.86,  1.14,  1.66,  1.84,
        2.06,  2.03,  1.81,  1.31,  1.  ,  1.19,  0.76,  0.02,  0.29,
        0.42,  0.02, -0.07, -0.11, -0.12, -0.31, -0.48, -0.44, -0.51,
       -0.66, -0.18,  0.12,  0.06, -0.03, -0.49, -0.36, -0.28, -0.38,
       -0.66, -0.86, -0.68, -0.3 , -0.34,  0.52,  0.66,  0.54,  0.38,
        0.42,  0.85,  0.94,  1.14,  1.31,  0.81,  0.73,  0.76,  0.35,
        0.18,  0.56,  0.81,  1.01,  0.76,  0.66,  0.48,  0.41,  0.13,
        0.34,  0.1 , -0.31, -0.7 , -0.87, -0.7 , -0.73, -0.78, -1.06,
       -1.6 , -1.42, -1.13, -0.8 , -0.61, -0.78, -0.82, -0.79, -0.71,
       -0.96, -0.88, -1.03, -0.78, -0.3 ,  0.03,  0.45,  0.75,  0.8 ,
        1.2 ,  1.4 ,  1.52,  1.83,  2.17,  2.28,  1.92,  1.34,  0.49,
       -0.19, -0.59, -0.83, -1.18, -1.31, -1.36, -1.69, -2.09, -2.06,
       -1.95, -1.5 , -1.21, -0.97, -0.91, -0.85, -0.55, -0.21, -0.35,
       -0.66, -0.82, -0.78, -0.32, -0.53, -0.86, -0.58, -0.76, -1.15,
       -1.04, -1.2 , -1.37, -1.54, -1.38, -1.73, -1.84, -1.09, -0.58,
       -0.53, -0.31,  0.  ,  0.17,  0.38,  0.5 ,  0.98,  0.95,  0.66,
        0.93,  0.55,  0.44,  0.03,  0.22,  0.39,  0.42,  0.25,  0.6 ,
        0.86,  0.72,  0.86,  0.78,  0.42,  0.06, -0.3 , -0.31, -0.33,
       -0.22, -0.53, -0.5 , -0.23, -0.14,  0.11,  0.03, -0.04,  0.23,
        0.42,  0.19,  0.08, -0.13,  0.16,  0.48,  0.35,  0.53,  0.69,
        0.7 ,  0.39,  0.28,  0.34,  0.51,  0.59,  0.28, -0.11, -0.07,
       -0.02,  0.14,  0.22, -0.38, -0.62, -0.51, -0.29, -0.3 , -0.19,
       -0.37, -0.32, -0.04, -0.11, -0.23, -0.11,  0.11, -0.15,  0.25,
        0.45,  0.72,  0.8 ,  0.64,  0.93,  1.64,  2.16,  2.09,  2.28,
        2.32,  1.94,  1.49,  1.19,  1.18,  0.82,  0.17, -0.04, -0.36,
       -0.96, -1.1 , -0.94, -0.69, -0.18, -0.39, -0.44, -0.46, -0.63,
       -0.24, -0.04, -0.19, -0.49, -1.  , -1.25, -1.17, -0.71, -0.67,
       -0.93, -0.75, -0.65, -0.47, -0.35, -0.55, -0.3 , -0.2 , -0.32,
       -0.56, -0.6 , -0.26, -0.08, -0.27, -0.01,  0.17,  0.51,  0.65,
        0.98,  1.2 ,  1.24,  1.22,  1.23,  1.13,  0.82,  0.88,  1.21,
        1.57,  1.76,  1.77,  1.42,  1.27,  1.07,  0.99,  0.37,  0.25,
       -0.19, -1.  , -1.44, -1.45, -0.99, -0.87, -1.71, -1.85, -1.83,
       -1.87, -1.37, -1.05, -0.82, -0.61, -0.29, -0.3 , -0.33, -0.18,
       -0.22, -0.25, -0.01,  0.11,  0.31,  0.2 ,  0.33,  0.34,  0.21,
        0.37,  0.42,  0.35,  0.4 ,  0.31,  0.48,  0.45,  0.29,  0.05,
        0.32,  0.4 ,  0.65,  0.86,  0.69,  0.36,  0.82,  1.19,  1.62,
        1.78,  1.74,  1.38,  1.32,  1.16,  0.7 ,  0.33,  0.07, -0.13,
       -0.34, -0.28, -0.21,  0.1 ,  0.38,  0.4 ,  0.71,  0.91,  0.48,
        0.33,  0.15,  0.29,  0.02,  0.01,  0.1 ,  0.06,  0.03,  0.11,
        0.38,  0.43,  0.44,  0.35,  0.54,  0.41,  0.71,  1.11,  1.19,
        0.98,  0.71,  0.48,  0.41,  0.02, -0.01, -0.11, -0.61, -0.9 ,
       -0.92, -1.1 , -1.  , -0.86, -0.85, -0.56, -0.36, -0.26, -0.3 ,
       -0.32, -0.2 , -0.45, -0.4 , -0.34, -0.61, -0.54, -0.36, -0.2 ,
        0.27,  0.76,  1.22,  1.67,  1.91,  2.12,  2.4 ,  2.48,  2.32,
        2.37,  2.03,  1.38,  0.9 ,  0.7 , -0.24, -0.86, -1.25, -1.26,
       -1.41, -1.38, -1.64, -1.69, -1.31, -0.9 , -1.  , -1.02, -1.05,
       -1.05, -1.19, -1.09, -1.19, -1.5 , -1.7 , -1.77, -1.53, -0.93,
       -0.75, -0.74, -0.64, -0.55, -0.47, -0.52, -0.65, -0.71, -0.88,
       -0.63, -0.53, -0.39, -0.39, -0.24, -0.11, -0.01, -0.1 , -0.28,
       -0.18, -0.41, -0.46, -0.05,  0.06,  0.09,  0.12,  0.4 ,  0.79,
        0.77,  0.81,  1.01,  1.2 ,  1.41,  1.31,  0.7 ,  0.74,  0.45,
       -0.05, -0.52, -0.21,  0.24,  0.2 ,  0.19,  0.38,  0.29,  0.38,
        0.38,  0.34,  0.21,  0.16,  0.14,  0.2 ,  0.51,  0.7 ,  0.72,
        0.68,  0.61,  0.69,  0.76,  0.46,  0.53,  0.35,  0.39,  0.12,
       -0.19, -0.1 , -0.11, -0.1 , -0.64, -0.97, -0.91, -0.67, -0.71,
       -0.32, -0.09,  0.  ,  0.01,  0.31,  0.6 ,  0.7 ,  0.99,  1.14,
        0.7 ,  0.13, -0.18, -0.31, -0.47, -0.36, -0.59, -0.72, -1.11,
       -1.39, -1.53, -1.58, -1.68, -1.66, -1.21, -0.99, -0.84, -0.68,
       -0.3 , -0.13, -0.25, -0.35, -0.46, -0.86, -0.89, -0.79, -0.7 ,
       -0.35,  0.06,  0.31,  0.48,  0.56,  0.68,  0.89,  1.45,  1.73,
        1.51,  1.25,  0.9 ,  0.38, -0.22, -0.69, -1.07, -1.38, -1.59,
       -1.69, -1.64, -1.6 , -1.54, -1.11, -0.92, -0.76, -0.52, -0.38,
       -0.42, -0.64, -0.8 , -1.05, -1.18, -1.05, -0.87, -0.67, -0.61,
       -0.49, -0.32,  0.02,  0.25,  0.47,  0.38,  0.26,  0.15, -0.25,
       -0.53, -0.51, -0.25, -0.25, -0.4 , -0.43, -0.39, -0.38, -0.18,
       -0.2 , -0.14, -0.17, -0.49, -0.61, -0.28,  0.09,  0.32,  0.23,
       -0.06, -0.03,  0.29,  0.44,  0.75,  0.72,  0.51,  0.42,  0.47,
        0.7 ,  0.92,  1.17,  1.45,  1.93,  2.2 ,  2.36,  2.71,  2.65,
        2.56,  2.24,  1.61,  0.9 ,  0.3 , -0.03, -0.47, -0.57, -0.57,
       -0.74, -0.76, -0.5 , -0.43, -0.08,  0.03,  0.21,  0.36,  0.33,
        0.25, -0.16, -0.43, -0.56, -0.96, -0.99, -0.98, -0.78, -0.8 ,
       -0.51, -0.2 ,  0.05,  0.12,  0.09,  0.47,  0.9 ,  0.9 ,  0.89,
        0.65,  0.71,  0.8 ,  0.62,  0.55,  0.45,  0.35,  0.04,  0.04,
        0.48,  0.52,  0.52,  0.6 ,  0.37,  0.48,  0.36, -0.27, -0.34,
       -0.3 , -0.59, -0.83, -1.25, -1.42, -1.15, -0.99, -1.  , -0.8 ,
       -0.72, -0.46, -0.28, -0.39, -0.53, -0.55, -0.94, -0.94, -1.06,
       -0.95, -0.89, -0.97, -1.11, -1.11, -0.75, -0.7 , -0.97, -1.07,
       -0.99, -0.9 , -0.86, -0.72, -0.46, -0.11,  0.13,  0.46,  0.84,
        1.02,  1.35,  1.6 ,  1.72,  2.02,  2.02,  1.81,  1.51,  1.12,
        0.77,  0.23,  0.18,  0.05, -0.12, -0.26, -0.27, -0.25, -0.6 ,
       -0.73, -0.43,  0.01, -0.14, -0.13, -0.06, -0.14, -0.36, -0.46])}
In [ ]:
import numpy.typing as npt

def doNothing(x: npt.NDArray[np.float64]) -> npt.NDArray[np.float64]:
    return x * 1.0

foo = np.array([1.1, 2.2, 3.3])
print(doNothing(foo))
[1.1 2.2 3.3]
In [ ]:
print(np.zeros(4000, dtype=int))
print(np.ones(4, dtype=bool))
[0 0 0 ... 0 0 0]
[ True  True  True  True]
In [ ]:
print(np.linspace(0, 4, 5))
print(np.linspace(1.1, 2.2, 3))
print(np.linspace(0, 4, 5, endpoint=False))
[0. 1. 2. 3. 4.]
[1.1  1.65 2.2 ]
[0.  0.8 1.6 2.4 3.2]
In [ ]:
import typing

def approxArea(
    f: typing.Callable,
    lowerbound: float,
    upperbound: float,
    bins: int
) -> float:
    """
    Return the approximate of the area under the curve of the function f, from
    lowerbound to upperbound. Approximates by dividing into bins many rectangles.
    """
    xs = np.linspace(lowerbound, upperbound, bins, endpoint=False)
    ys = f(xs)
    rectangleWidth = (upperbound - lowerbound) / bins
    areas = ys * rectangleWidth
    return np.sum(areas)

def foo(x: npt.NDArray) -> npt.NDArray:
    return x**2 + 1

print(approxArea(foo, 2, 4, 400000))
20.666636666674997
In [ ]:
import math

print(approxArea(math.sin, 0, math.pi*12, 1000000))
#print(approxArea(np.sin, 0, math.pi*12, 1000000))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [43], in <cell line: 3>()
      1 import math
----> 3 print(approxArea(math.sin, 0, math.pi*12, 1000000))

Input In [40], in approxArea(f, lowerbound, upperbound, bins)
      9 """
     10 Return the approximate of the area under the curve of the function f, from
     11 lowerbound to upperbound. Approximates by dividing into bins many rectangles.
     12 """
     13 xs = np.linspace(lowerbound, upperbound, bins, endpoint=False)
---> 14 ys = f(xs)
     15 rectangleWidth = (upperbound - lowerbound) / bins
     16 areas = ys * rectangleWidth

TypeError: only size-1 arrays can be converted to Python scalars
In [ ]:
def stepFunction(x: float) -> float:
    """
    A demonstration step function over x.
    """
    if x < 0:
        return -1
    elif x < 2:
        return 0
    else:
        return 1
    
vectorizedStepFunction = np.vectorize(stepFunction)
print(approxArea(vectorizedStepFunction, 0, 16, 1000000))
13.999999999999975
In [ ]:
#board = np.array([[[1, 2, 3],
#                   [4, 5, 6],
#                   [7, 8, 9]],
#                  [[10, 11, 12],
#                   [13, 14, 15],
#                   [16, 17, 18]]])
board = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])
print(board)

print(board[1:, 2:])
print(board[1][2] == board[1, 2])
[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[6]
 [9]]
True
In [ ]:
a = np.zeros((2, 3))
print(a)
print(a.shape)
[[0. 0. 0.]
 [0. 0. 0.]]
(2, 3)
In [ ]:
print(np.linspace(np.array([1, 2]), np.array([3, 4]), 5))
[[1.  2. ]
 [1.5 2.5]
 [2.  3. ]
 [2.5 3.5]
 [3.  4. ]]