diff --git a/module2/exo4/exercice.ipynb b/module2/exo4/exercice.ipynb index 0bbbe371b01e359e381e43239412d77bf53fb1fb..4b30ef0c62499faf9338f62595c9b6e33ac25a42 100644 --- a/module2/exo4/exercice.ipynb +++ b/module2/exo4/exercice.ipynb @@ -1,5 +1,863 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Nitrogen fertilizer price trend" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Data import" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This data gives the long-term evolution of nitrogen fertilizer price in USD" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DATE,PCU325311325311\n", + "1975-12-01,88.1\n", + "1976-01-01,87.6\n", + "1976-02-01,85.0\n", + "1976-03-01,84.8\n", + "1976-04-01,84.7\n", + "1976-05-01,84.6\n", + "1976-06-01,83.5\n", + "1976-07-01,83.0\n", + "1976-08-01,83.2\n", + "1976-09-01,83.1\n", + "1976-10-01,83.5\n", + "1976-11-01,83.2\n", + "1976-12-01,83.0\n", + "1977-01-01,82.5\n", + "1977-02-01,84.5\n", + "1977-03-01,86.9\n", + "1977-04-01,87.6\n", + "1977-05-01,87.4\n", + "1977-06-01,87.1\n", + "1977-07-01,87.2\n", + "1977-08-01,87.1\n", + "1977-09-01,87.2\n", + "1977-10-01,86.4\n", + "1977-11-01,84.6\n", + "1977-12-01,83.9\n", + "1978-01-01,83.3\n", + "1978-02-01,85.0\n", + "1978-03-01,86.6\n", + "1978-04-01,86.7\n", + "1978-05-01,86.1\n", + "1978-06-01,85.7\n", + "1978-07-01,85.2\n", + "1978-08-01,84.5\n", + "1978-09-01,84.5\n", + "1978-10-01,85.5\n", + "1978-11-01,84.2\n", + "1978-12-01,83.9\n", + "1979-01-01,84.0\n", + "1979-02-01,85.1\n", + "1979-03-01,86.4\n", + "1979-04-01,89.4\n", + "1979-05-01,89.8\n", + "1979-06-01,89.3\n", + "1979-07-01,90.6\n", + "1979-08-01,91.7\n", + "1979-09-01,93.4\n", + "1979-10-01,95.1\n", + "1979-11-01,98.4\n", + "1979-12-01,100.0\n", + "1980-01-01,.\n", + "1980-02-01,.\n", + "1980-03-01,.\n", + "1980-04-01,.\n", + "1980-05-01,.\n", + "1980-06-01,.\n", + "1980-07-01,.\n", + "1980-08-01,.\n", + "1980-09-01,.\n", + "1980-10-01,.\n", + "1980-11-01,.\n", + "1980-12-01,116.1\n", + "1981-01-01,118.9\n", + "1981-02-01,121.6\n", + "1981-03-01,124.9\n", + "1981-04-01,129.6\n", + "1981-05-01,130.8\n", + "1981-06-01,126.4\n", + "1981-07-01,126.4\n", + "1981-08-01,126.8\n", + "1981-09-01,125.2\n", + "1981-10-01,125.9\n", + "1981-11-01,127.0\n", + "1981-12-01,125.9\n", + "1982-01-01,125.4\n", + "1982-02-01,125.7\n", + "1982-03-01,125.3\n", + "1982-04-01,124.8\n", + "1982-05-01,123.7\n", + "1982-06-01,122.9\n", + "1982-07-01,119.7\n", + "1982-08-01,119.7\n", + "1982-09-01,119.2\n", + "1982-10-01,120.5\n", + "1982-11-01,118.4\n", + "1982-12-01,117.5\n", + "1983-01-01,117.0\n", + "1983-02-01,116.6\n", + "1983-03-01,116.4\n", + "1983-04-01,116.6\n", + "1983-05-01,116.0\n", + "1983-06-01,115.4\n", + "1983-07-01,114.9\n", + "1983-08-01,114.0\n", + "1983-09-01,111.7\n", + "1983-10-01,111.7\n", + "1983-11-01,113.2\n", + "1983-12-01,114.9\n", + "1984-01-01,116.7\n", + "1984-02-01,121.3\n", + "1984-03-01,126.1\n", + "1984-04-01,127.6\n", + "1984-05-01,127.8\n", + "1984-06-01,127.1\n", + "1984-07-01,126.0\n", + "1984-08-01,122.6\n", + "1984-09-01,122.0\n", + "1984-10-01,122.7\n", + "1984-11-01,121.1\n", + "1984-12-01,121.2\n", + "1985-01-01,122.0\n", + "1985-02-01,123.1\n", + "1985-03-01,123.0\n", + "1985-04-01,123.7\n", + "1985-05-01,123.3\n", + "1985-06-01,122.6\n", + "1985-07-01,122.4\n", + "1985-08-01,121.1\n", + "1985-09-01,123.8\n", + "1985-10-01,122.2\n", + "1985-11-01,121.8\n", + "1985-12-01,119.6\n", + "1986-01-01,114.5\n", + "1986-02-01,114.6\n", + "1986-03-01,115.3\n", + "1986-04-01,114.3\n", + "1986-05-01,114.3\n", + "1986-06-01,114.1\n", + "1986-07-01,108.7\n", + "1986-08-01,103.8\n", + "1986-09-01,102.5\n", + "1986-10-01,99.6\n", + "1986-11-01,99.1\n", + "1986-12-01,99.7\n", + "1987-01-01,97.5\n", + "1987-02-01,102.1\n", + "1987-03-01,106.2\n", + "1987-04-01,108.9\n", + "1987-05-01,105.9\n", + "1987-06-01,104.7\n", + "1987-07-01,103.8\n", + "1987-08-01,103.7\n", + "1987-09-01,102.7\n", + "1987-10-01,101.7\n", + "1987-11-01,103.2\n", + "1987-12-01,105.3\n", + "1988-01-01,110.4\n", + "1988-02-01,117.3\n", + "1988-03-01,120.4\n", + "1988-04-01,120.3\n", + "1988-05-01,119.0\n", + "1988-06-01,115.2\n", + "1988-07-01,116.8\n", + "1988-08-01,117.2\n", + "1988-09-01,119.3\n", + "1988-10-01,122.9\n", + "1988-11-01,127.1\n", + "1988-12-01,131.4\n", + "1989-01-01,133.5\n", + "1989-02-01,134.9\n", + "1989-03-01,136.4\n", + "1989-04-01,133.9\n", + "1989-05-01,130.8\n", + "1989-06-01,121.4\n", + "1989-07-01,113.0\n", + "1989-08-01,110.2\n", + "1989-09-01,107.6\n", + "1989-10-01,106.7\n", + "1989-11-01,108.7\n", + "1989-12-01,112.3\n", + "1990-01-01,114.4\n", + "1990-02-01,120.1\n", + "1990-03-01,119.6\n", + "1990-04-01,119.1\n", + "1990-05-01,115.8\n", + "1990-06-01,112.4\n", + "1990-07-01,113.1\n", + "1990-08-01,115.0\n", + "1990-09-01,121.4\n", + "1990-10-01,127.1\n", + "1990-11-01,129.9\n", + "1990-12-01,130.5\n", + "1991-01-01,131.3\n", + "1991-02-01,131.4\n", + "1991-03-01,130.5\n", + "1991-04-01,128.3\n", + "1991-05-01,126.0\n", + "1991-06-01,123.6\n", + "1991-07-01,123.1\n", + "1991-08-01,124.3\n", + "1991-09-01,123.9\n", + "1991-10-01,125.0\n", + "1991-11-01,123.6\n", + "1991-12-01,124.7\n", + "1992-01-01,123.6\n", + "1992-02-01,122.9\n", + "1992-03-01,122.1\n", + "1992-04-01,122.0\n", + "1992-05-01,123.4\n", + "1992-06-01,123.7\n", + "1992-07-01,121.2\n", + "1992-08-01,118.5\n", + "1992-09-01,119.2\n", + "1992-10-01,121.8\n", + "1992-11-01,121.3\n", + "1992-12-01,121.1\n", + "1993-01-01,122.3\n", + "1993-02-01,124.2\n", + "1993-03-01,125.5\n", + "1993-04-01,125.6\n", + "1993-05-01,125.0\n", + "1993-06-01,123.1\n", + "1993-07-01,121.6\n", + "1993-08-01,118.8\n", + "1993-09-01,118.9\n", + "1993-10-01,119.5\n", + "1993-11-01,128.7\n", + "1993-12-01,121.9\n", + "1994-01-01,123.6\n", + "1994-02-01,126.8\n", + "1994-03-01,129.1\n", + "1994-04-01,133.9\n", + "1994-05-01,136.8\n", + "1994-06-01,135.7\n", + "1994-07-01,136.9\n", + "1994-08-01,138.3\n", + "1994-09-01,138.2\n", + "1994-10-01,143.5\n", + "1994-11-01,147.8\n", + "1994-12-01,148.3\n", + "1995-01-01,155.8\n", + "1995-02-01,161.2\n", + "1995-03-01,165.3\n", + "1995-04-01,167.2\n", + "1995-05-01,166.6\n", + "1995-06-01,164.3\n", + "1995-07-01,157.3\n", + "1995-08-01,148.5\n", + "1995-09-01,147.1\n", + "1995-10-01,147.8\n", + "1995-11-01,152.4\n", + "1995-12-01,156.8\n", + "1996-01-01,161.8\n", + "1996-02-01,162.4\n", + "1996-03-01,165.8\n", + "1996-04-01,164.9\n", + "1996-05-01,162.3\n", + "1996-06-01,156.3\n", + "1996-07-01,151.5\n", + "1996-08-01,149.9\n", + "1996-09-01,150.5\n", + "1996-10-01,157.8\n", + "1996-11-01,159.8\n", + "1996-12-01,165.8\n", + "1997-01-01,167.6\n", + "1997-02-01,169.8\n", + "1997-03-01,170.5\n", + "1997-04-01,170.4\n", + "1997-05-01,168.3\n", + "1997-06-01,163.1\n", + "1997-07-01,158.0\n", + "1997-08-01,157.3\n", + "1997-09-01,156.1\n", + "1997-10-01,151.5\n", + "1997-11-01,148.8\n", + "1997-12-01,144.0\n", + "1998-01-01,142.1\n", + "1998-02-01,140.1\n", + "1998-03-01,139.9\n", + "1998-04-01,136.8\n", + "1998-05-01,139.0\n", + "1998-06-01,138.7\n", + "1998-07-01,136.4\n", + "1998-08-01,132.2\n", + "1998-09-01,127.9\n", + "1998-10-01,126.4\n", + "1998-11-01,123.1\n", + "1998-12-01,120.4\n", + "1999-01-01,119.6\n", + "1999-02-01,119.7\n", + "1999-03-01,121.0\n", + "1999-04-01,121.7\n", + "1999-05-01,118.9\n", + "1999-06-01,117.0\n", + "1999-07-01,113.5\n", + "1999-08-01,113.1\n", + "1999-09-01,115.0\n", + "1999-10-01,120.7\n", + "1999-11-01,120.5\n", + "1999-12-01,122.4\n", + "2000-01-01,126.3\n", + "2000-02-01,130.7\n", + "2000-03-01,133.7\n", + "2000-04-01,135.0\n", + "2000-05-01,134.7\n", + "2000-06-01,138.2\n", + "2000-07-01,147.2\n", + "2000-08-01,148.2\n", + "2000-09-01,152.5\n", + "2000-10-01,157.8\n", + "2000-11-01,161.6\n", + "2000-12-01,170.6\n", + "2001-01-01,209.1\n", + "2001-02-01,218.6\n", + "2001-03-01,216.8\n", + "2001-04-01,202.8\n", + "2001-05-01,187.0\n", + "2001-06-01,171.1\n", + "2001-07-01,159.6\n", + "2001-08-01,149.3\n", + "2001-09-01,144.9\n", + "2001-10-01,137.6\n", + "2001-11-01,132.9\n", + "2001-12-01,131.0\n", + "2002-01-01,130.3\n", + "2002-02-01,129.1\n", + "2002-03-01,127.2\n", + "2002-04-01,126.1\n", + "2002-05-01,128.0\n", + "2002-06-01,132.0\n", + "2002-07-01,131.5\n", + "2002-08-01,132.0\n", + "2002-09-01,130.6\n", + "2002-10-01,133.5\n", + "2002-11-01,137.9\n", + "2002-12-01,141.6\n", + "2003-01-01,150.9\n", + "2003-02-01,163.6\n", + "2003-03-01,183.0\n", + "2003-04-01,188.7\n", + "2003-05-01,184.1\n", + "2003-06-01,177.6\n", + "2003-07-01,173.8\n", + "2003-08-01,175.8\n", + "2003-09-01,178.4\n", + "2003-10-01,180.7\n", + "2003-11-01,182.0\n", + "2003-12-01,185.6\n", + "2004-01-01,192.6\n", + "2004-02-01,198.4\n", + "2004-03-01,199.3\n", + "2004-04-01,200.2\n", + "2004-05-01,194.6\n", + "2004-06-01,197.7\n", + "2004-07-01,200.2\n", + "2004-08-01,206.0\n", + "2004-09-01,206.3\n", + "2004-10-01,214.0\n", + "2004-11-01,217.5\n", + "2004-12-01,220.1\n", + "2005-01-01,220.2\n", + "2005-02-01,219.6\n", + "2005-03-01,218.8\n", + "2005-04-01,226.6\n", + "2005-05-01,230.4\n", + "2005-06-01,232.8\n", + "2005-07-01,228.4\n", + "2005-08-01,227.5\n", + "2005-09-01,236.0\n", + "2005-10-01,256.0\n", + "2005-11-01,266.9\n", + "2005-12-01,279.3\n", + "2006-01-01,284.7\n", + "2006-02-01,272.7\n", + "2006-03-01,264.6\n", + "2006-04-01,256.4\n", + "2006-05-01,251.4\n", + "2006-06-01,242.7\n", + "2006-07-01,231.9\n", + "2006-08-01,228.3\n", + "2006-09-01,225.2\n", + "2006-10-01,228.2\n", + "2006-11-01,228.5\n", + "2006-12-01,233.0\n", + "2007-01-01,244.5\n", + "2007-02-01,256.9\n", + "2007-03-01,272.1\n", + "2007-04-01,283.4\n", + "2007-05-01,281.9\n", + "2007-06-01,283.1\n", + "2007-07-01,282.0\n", + "2007-08-01,273.8\n", + "2007-09-01,272.6\n", + "2007-10-01,285.2\n", + "2007-11-01,291.5\n", + "2007-12-01,314.5\n", + "2008-01-01,338.6\n", + "2008-02-01,348.5\n", + "2008-03-01,368.5\n", + "2008-04-01,381.8\n", + "2008-05-01,410.6\n", + "2008-06-01,437.9\n", + "2008-07-01,473.8\n", + "2008-08-01,491.9\n", + "2008-09-01,508.2\n", + "2008-10-01,498.3\n", + "2008-11-01,454.2\n", + "2008-12-01,411.1\n", + "2009-01-01,359.0\n", + "2009-02-01,319.0\n", + "2009-03-01,293.5\n", + "2009-04-01,308.6\n", + "2009-05-01,292.7\n", + "2009-06-01,264.8\n", + "2009-07-01,250.0\n", + "2009-08-01,246.2\n", + "2009-09-01,235.0\n", + "2009-10-01,243.6\n", + "2009-11-01,246.8\n", + "2009-12-01,245.6\n", + "2010-01-01,255.8\n", + "2010-02-01,269.4\n", + "2010-03-01,274.8\n", + "2010-04-01,289.9\n", + "2010-05-01,290.6\n", + "2010-06-01,286.0\n", + "2010-07-01,271.9\n", + "2010-08-01,279.4\n", + "2010-09-01,291.3\n", + "2010-10-01,310.1\n", + "2010-11-01,314.0\n", + "2010-12-01,326.0\n", + "2011-01-01,341.2\n", + "2011-02-01,357.2\n", + "2011-03-01,373.7\n", + "2011-04-01,386.5\n", + "2011-05-01,395.7\n", + "2011-06-01,405.4\n", + "2011-07-01,413.4\n", + "2011-08-01,413.2\n", + "2011-09-01,419.0\n", + "2011-10-01,430.8\n", + "2011-11-01,441.1\n", + "2011-12-01,443.5\n", + "2012-01-01,430.6\n", + "2012-02-01,410.4\n", + "2012-03-01,405.8\n", + "2012-04-01,425.7\n", + "2012-05-01,451.5\n", + "2012-06-01,455.9\n", + "2012-07-01,451.3\n", + "2012-08-01,433.6\n", + "2012-09-01,432.6\n", + "2012-10-01,436.1\n", + "2012-11-01,433.9\n", + "2012-12-01,437.7\n", + "2013-01-01,442.6\n", + "2013-02-01,448.7\n", + "2013-03-01,444.3\n", + "2013-04-01,462.2\n", + "2013-05-01,470.4\n", + "2013-06-01,450.3\n", + "2013-07-01,428.3\n", + "2013-08-01,384.5\n", + "2013-09-01,375.0\n", + "2013-10-01,369.4\n", + "2013-11-01,369.2\n", + "2013-12-01,365.2\n", + "2014-01-01,364.9\n", + "2014-02-01,382.0\n", + "2014-03-01,389.6\n", + "2014-04-01,401.0\n", + "2014-05-01,420.0\n", + "2014-06-01,403.8\n", + "2014-07-01,389.9\n", + "2014-08-01,380.4\n", + "2014-09-01,376.4\n", + "2014-10-01,371.9\n", + "2014-11-01,373.3\n", + "2014-12-01,376.8\n", + "2015-01-01,379.9\n", + "2015-02-01,378.4\n", + "2015-03-01,371.2\n", + "2015-04-01,372.6\n", + "2015-05-01,376.4\n", + "2015-06-01,377.0\n", + "2015-07-01,363.2\n", + "2015-08-01,348.3\n", + "2015-09-01,360.0\n", + "2015-10-01,347.3\n", + "2015-11-01,344.3\n", + "2015-12-01,353.1\n", + "2016-01-01,338.0\n", + "2016-02-01,323.2\n", + "2016-03-01,314.3\n", + "2016-04-01,319.5\n", + "2016-05-01,320.6\n", + "2016-06-01,312.0\n", + "2016-07-01,290.1\n", + "2016-08-01,270.3\n", + "2016-09-01,263.7\n", + "2016-10-01,263.2\n", + "2016-11-01,265.5\n", + "2016-12-01,267.3\n", + "2017-01-01,270.6\n", + "2017-02-01,288.0\n", + "2017-03-01,297.3\n", + "2017-04-01,304.5\n", + "2017-05-01,299.8\n", + "2017-06-01,296.7\n", + "2017-07-01,282.4\n", + "2017-08-01,263.8\n", + "2017-09-01,258.6\n", + "2017-10-01,264.3\n", + "2017-11-01,278.7\n", + "2017-12-01,290.9\n", + "2018-01-01,292.1\n", + "2018-02-01,307.7\n", + "2018-03-01,307.5\n", + "2018-04-01,307.8\n", + "2018-05-01,305.3\n", + "2018-06-01,301.4\n", + "2018-07-01,293.9\n", + "2018-08-01,295.1\n", + "2018-09-01,298.4\n", + "2018-10-01,310.1\n", + "2018-11-01,318.6\n", + "2018-12-01,321.9\n", + "2019-01-01,321.9\n", + "2019-02-01,332.5\n", + "2019-03-01,329.2\n", + "2019-04-01,326.5\n", + "2019-05-01,325.6\n", + "2019-06-01,318.2\n", + "2019-07-01,312.2\n", + "2019-08-01,300.4\n", + "2019-09-01,297.3\n", + "2019-10-01,299.0\n", + "2019-11-01,294.5\n", + "2019-12-01,277.4\n", + "2020-01-01,280.8\n", + "2020-02-01,279.9\n", + "2020-03-01,282.5\n", + "2020-04-01,294.8\n", + "2020-05-01,294.2\n", + "2020-06-01,285.3\n", + "2020-07-01,280.9\n", + "2020-08-01,277.9\n", + "2020-09-01,280.7\n", + "2020-10-01,286.6\n", + "2020-11-01,286.0\n", + "2020-12-01,292.1\n", + "2021-01-01,307.5\n", + "2021-02-01,325.3\n", + "2021-03-01,333.8\n", + "2021-04-01,352.7\n", + "2021-05-01,366.5\n", + "2021-06-01,407.4\n", + "2021-07-01,419.080\n", + "2021-08-01,411.683\n", + "2021-09-01,421.322\n", + "2021-10-01,483.638\n", + "2021-11-01,539.354\n", + "2021-12-01,615.654\n", + "2022-01-01,643.475\n", + "2022-02-01,677.806\n", + "2022-03-01,674.724\n", + "\n" + ] + } + ], + "source": [ + "import requests\n", + "\n", + "url = 'https://app-learninglab.inria.fr/moocrr/gitlab/1d334d5105a1a432e18f2e361780bab5/mooc-rr/raw/master/module2/exo4/PCU325311325311.csv?inline=false'\n", + "data = requests.get(url).text\n", + "print(data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We convert this big string into csv" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import io\n", + "import pandas as pd\n", + "df = pd.read_csv(io.StringIO(data), sep=',', decimal='.')\n", + "df.columns = ['date', 'price']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Then we convert values as needed" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'1975-12-01'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.date[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Timestamp('1975-01-01 00:12:00')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['date'] = pd.to_datetime(df['date'], format='%Y-%M-%d')\n", + "df.date[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "df = df.replace('.', np.NaN)\n", + "df['price'] = pd.to_numeric(df['price'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Data viz." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "\n", + "import matplotlib.pyplot as plt\n", + "plt.plot(df.date, df.price)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Mean price before 2000" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "import datetime\n", + "prices_before_2000 = df[df['date']=datetime.datetime.strptime('2000-01-01', '%Y-%M-%d')]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "price 298.67\n", + "dtype: float64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.around(prices_after_2000.mean(), decimals=2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Std price after 2000" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "price 103.63\n", + "dtype: float64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.around(prices_after_2000.std(ddof=1), decimals=2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +874,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } -