From 9e798fcd2301e614f0e68e0fe72a9be6f4837088 Mon Sep 17 00:00:00 2001 From: carmengg Date: Thu, 28 Sep 2023 01:02:31 +0000 Subject: [PATCH] cleaned lesson --- docs/images/lesson-2/iloc_error.png | Bin 188750 -> 0 bytes docs/lectures/lesson-2-pandas-basics.html | 625 ++++++++++++---------- docs/search.json | 4 +- lectures/lesson-2-pandas-basics.qmd | 188 +++---- 4 files changed, 420 insertions(+), 397 deletions(-) delete mode 100644 docs/images/lesson-2/iloc_error.png diff --git a/docs/images/lesson-2/iloc_error.png b/docs/images/lesson-2/iloc_error.png deleted file mode 100644 index 90f7f686abf1d2d72ae3ce7bbee85f2a0ab967cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188750 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

V()gwOF+w& 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

    CwUvnPLdIFk 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 G{Qe)AdHcKo diff --git a/docs/lectures/lesson-2-pandas-basics.html b/docs/lectures/lesson-2-pandas-basics.html index 9cb017a..797d10d 100644 --- a/docs/lectures/lesson-2-pandas-basics.html +++ b/docs/lectures/lesson-2-pandas-basics.html @@ -197,9 +197,8 @@

    Table of contents

  • 2.3 Series
  • 2.4 Data Frames
      @@ -209,7 +208,7 @@

      Table of contents

    • 2.6 Basic Matplotlib
    • 2.7 Resources
    • @@ -268,13 +267,13 @@

      print(s)
      <class 'numpy.ndarray'>
      -[-0.38948851  0.03689932 -0.97996969  1.35277789] 
      +[ 0.26255995 -0.43578912  2.45025948  1.46437431] 
       
       <class 'pandas.core.series.Series'>
      -0   -0.389489
      -1    0.036899
      -2   -0.979970
      -3    1.352778
      +0    0.262560
      +1   -0.435789
      +2    2.450259
      +3    1.464374
       dtype: float64
      @@ -295,7 +294,7 @@

      # a Series from a numpy array 
       pd.Series(np.arange(3), index=['a','b','c'])
      -
      +
      a    0
       b    1
       c    2
      @@ -306,7 +305,7 @@ 

      # a Series from a list of strings with default index
       pd.Series(['EDS 220', 'EDS 222', 'EDS 223', 'EDS 242'])
      -
      +
      0    EDS 220
       1    EDS 222
       2    EDS 223
      @@ -324,7 +323,7 @@ 

      # initialize a sries using a dictionary pd.Series(d)

      -
      +
      a    0
       b    1
       c    2
      @@ -337,7 +336,7 @@ 

      If we only provide a number as the data for the series, we need to provide an index. The number will be repeated to match the length of the index.

      pd.Series(3.0, index = ['A', 'B', 'C'])
      -
      +
      A    3.0
       B    3.0
       C    3.0
      @@ -347,7 +346,7 @@ 

      -

      2.3.2 Arithmetic Operations

      +

      2.3.2 Arithmetic operations

      Arithmetic operations work on series and also most NumPy functions. For example:

      # define a series
      @@ -384,120 +383,70 @@ 

      2.3.3 Attributes & Methods

      pandas.Series have many attributes and methods, you can see a full list in the pandas documentation. For now we will cover two examples that have to do with identifying missing values.

      pandas represents a missing or NA value with NaN, which stands for not a number. Sometime

      -
      -
      -

      2.3.4 Indexing

      -
      -

      2.3.4.1 By label…

      -

      Indexing by label means we want to select data from our series using the label names in the series’ index. There are two ways of indexing by label:

      -
      -
      2.3.4.1.1 … with []
      -

      We can use [] to acess specific values by label in the same way as we do in a dictionary: series['index_label']

      -
      -
      # initalize series
      -s = pd.Series(np.arange(5), index=['a','b','c','d','e'])
      -print(s, '\n')
      -
      -# access element corresponding to label 'b'
      -s['b']
      -
      -
      a    0
      -b    1
      -c    2
      -d    3
      -e    4
      -dtype: int64 
      -
      -
      -
      -
      1
      -
      -
      -
      -
      -
      2.3.4.1.2 … with loc
      -

      This will be our preferred method in the course. We can do a many things with it:

      -
      -
      # access a specific element by label
      -s.loc['b']
      -
      -
      1
      -
      -
      -
      -
      # access a few elements by label
      -s.loc[['a','c','e']]
      -
      -
      a    0
      -c    2
      -e    4
      -dtype: int64
      -
      -
      -
      -
      # select based on True/False values
      -s.loc[s>3]
      -
      -
      e    4
      -dtype: int64
      -
      -
      -
      -
      # slice the series using the labels
      -s.loc['b':'d']
      -
      -
      b    1
      -c    2
      -d    3
      -dtype: int64
      -
      -
      -
      -
      -
      - -
      -
      -slicing with loc -
      -
      -
      -

      Notice that when use slicing with loc we get both the start and the end of the indices we indicated. This is different to slicing in numpy arrays or lists where we do not get the element at the end of the slice. Compare the following:

      -
      -
      x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      -print(x)
      -
      -# slicing will return elements at indices 2 trhough 4 (inclusive)
      -x[2:5]
      -
      -
      [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
      -
      -
      -
      [2, 3, 4]
      -
      -
      -
      -
      # define a np array with integers from 0 to 9
      -y = np.arange(10)
      -print(y)
      -
      -# slicing will return elements at indices 2 trhough 4 (inclusive)
      -y[2:5]
      -
      -
      [0 1 2 3 4 5 6 7 8 9]
      -
      -
      -
      array([2, 3, 4])
      -
      -
      -
      -
       z = pd.Series(y)
      - print(z)
      -
      -# slicing will return elements with index labels 2 through 5 (inclusive)
      - z.loc[2:5]
      -
      -
      0    0
      +
      +
       
      @@ -574,16 +486,16 @@

      2.4.1 Creating a pandas.DataFrame

      There are many ways of creating a pandas.DataFrame. Although we likely won’t be creating data frames from scratch often, I’d like to go over creating a pandas.DataFrame from a dict of pandas.Series as this will help us understand the syntax for other Data Frame methods.

      We already mentioned each column of a pandas.DataFrame is a pandas.Series. In fact, the pandas.DataFrame is a dictionary of pandas.Series, with each column name being the key and the column values being the key’s value. Thus, we can create a pandas.DataFrame in this way:

      -
      -
      # initialize dictionary with columns' data 
      -d = {'col_name_1' : pd.Series(np.arange(3)),
      -     'col_name_2' : pd.Series([3.1, 3.2, 3.3]),
      -     }
      -
      -# create data frame
      -df = pd.DataFrame(d)
      -df
      -
      +
      +
      # initialize dictionary with columns' data 
      +d = {'col_name_1' : pd.Series(np.arange(3)),
      +     'col_name_2' : pd.Series([3.1, 3.2, 3.3]),
      +     }
      +
      +# create data frame
      +df = pd.DataFrame(d)
      +df
      +
      @@ -617,17 +529,17 @@

      -
      # print original index
      -print(df.index)
      -
      -# change the index
      -df.index = ['a','b','c']
      -df
      +
      +
      # print original index
      +print(df.index)
      +
      +# change the index
      +df.index = ['a','b','c']
      +df
      RangeIndex(start=0, stop=3, step=1)
      -
      +
      @@ -660,17 +572,17 @@

      -
      # print original column names
      -print(df.columns)
      -
      -# change column names 
      -df.columns = ['C1','C2']
      -df
      +
      +
      # print original column names
      +print(df.columns)
      +
      +# change column names 
      +df.columns = ['C1','C2']
      +df
      Index(['col_name_1', 'col_name_2'], dtype='object')
      -
      +
      @@ -707,13 +619,14 @@

      2.5 Subsetting a pandas.DataFrame

      -

      Like it’s often the case when working with pandas, there are many ways in which we can subset a data frame. We will review the core methods to do this.

      -

      There are two ways to subset data in a Data Frame: by position and by label.

      -
        -
      • Subsetting by label means we want to select data from our data frame using the names of the columns or the index.

      • -
      • Subsetting by position means we want to select data from our data frame based on the data’s order in the data frame.

      • -
      -

      Let’s dive into some methods for subsetting which will clarify these options. For all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center (Dataset DOI:!​). The column descriptions are:

      +

      Like it’s often the case when working with pandas, there are many ways in which we can subset a data frame. We will review the core methods to do this.

      +

      For all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center (Original dataset). The column descriptions are:

      • year: ​calendar year
      • europe - antarctica: ​change in glacial volume (km3​ ​) in each region that year
      • @@ -721,13 +634,14 @@

        -
        # read in file
        -df = pd.read_csv('data/lesson-1/glacial_loss.csv')
        -
        -# see the first five rows
        -df.head()
        -
        +

        First, we read-in the file and get some baisc information about this data frame:

        +
        +
        # read in file
        +df = pd.read_csv('data/lesson-1/glacial_loss.csv')
        +
        +# see the first five rows
        +df.head()
        +
        @@ -824,39 +738,40 @@

        -
        # print column names
        -print(df.columns)
        -
        -# print shape: output is a tupe (# rows, # columns)
        -print(df.shape)
        -
        +
        +
        # get column names
        +df.columns
        +
        Index(['year', 'europe', 'arctic', 'alaska', 'asia', 'north_america',
                'south_america', 'antarctica', 'global_glacial_volume_change',
                'annual_sea_level_rise', 'cumulative_sea_level_rise'],
        -      dtype='object')
        -(43, 11)
        + dtype='object')

      +
      +
      +
      +
      # data frame's shape: output is a tuple (# rows, # columns)
      +df.shape
      +
      +
      (43, 11)

      2.5.1 Selecting a single column…

      -
      -

      2.5.1.1 …by label

      -

      This is the simplest case for selecting data. Remember we can think of a pandas.DataFrame as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary:

      -

      I’m interested in the annual sea level rise.

      -
      -
      # seelect a single column by using square brackets []
      -annual_rise = df['annual_sea_level_rise']
      -
      -# check the type of the ouput
      -print(type(annual_rise))
      -
      -annual_rise.head()
      +
      +

      2.5.1.1 …by label

      +

      This is the simplest case for selecting data. Suppose we are interested in the annual sea level rise. Then we can access that single column in this way:

      +
      +
      # seelect a single column by using square brackets []
      +annual_rise = df['annual_sea_level_rise']
      +
      +# check the type of the ouput
      +print(type(annual_rise))
      +
      +annual_rise.head()
      <class 'pandas.core.series.Series'>
      -
      +
      0    0.610010
       1    0.810625
       2    0.100292
      @@ -866,11 +781,28 @@ 

      Since we only selected a single column the output is a pandas.Series.

      +
      +
      +
      + +
      +
      +pd.DataFrame = dictionary of columns +
      +
      +
      +

      Remember we can think of a pandas.DataFrame as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary. That is the syntaxi we just used: df['column_name'].

      +
      +
      +

      In general, selecting by label means we want to select data from our data frame using the names of the columns, not their position.

      +
      +
      +

      2.5.1.2 … with attribute syntax

      We can also access a single column by using attribute syntax:

      -
      -
      annual_rise_2 = df.annual_sea_level_rise
      -annual_rise_2.head()
      -
      +
      +
      annual_rise_2 = df.annual_sea_level_rise
      +annual_rise_2.head()
      +
      0    0.610010
       1    0.810625
       2    0.100292
      @@ -879,34 +811,163 @@ 

      -
      -
      2.5.1.1.1 …by position
      -

      Suppose we want to access the 10th column in the data frame - then we want to select a column by position. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the iloc method*:

      -
      -
      # select column by position using iloc
      -# the syntax is iloc[rows,columns]
      -# [:,9] means "select all rows from the 10th column"
      -annual_rise_3 = df.iloc[:,9]
      -annual_rise_3.head()
      -
      -
      0    0.610010
      -1    0.810625
      -2    0.100292
      -3   -0.085596
      -4   -0.128392
      -Name: annual_sea_level_rise, dtype: float64
      +
      +
      +
      +

      2.5.2 Selecting multiple columns…

      +
      +

      2.5.2.1 … using a list of column names

      +

      This is another example of selecting by labels. We just need to pass a list with the column names to the square brackets []. For example, say we want to look at the change in glacial volume in Europe and Asia, then we can select those columns like this:

      +
      +
      # select columns with names "europe" and "asia"
      +europe_asia = df[['europe','asia']]
      +

      Notice there are double square brackets. This is because we are passing the list of names ['europe','asia'] to the selection brakcets [].

      +
      +
      # check the type of the resulting selection
      +print(type(europe_asia))
      +
      +# check the shape of the selection
      +print((europe_asia.shape))
      +
      +
      <class 'pandas.core.frame.DataFrame'>
      +(43, 2)
      -
      +
      +
      +
      +

      2.5.2.2 … using a slice

      +

      Yet another example of label selection! In this case we will use the loc function. This is a powerful function! The general syntax is

      +
      df.loc[ row-selection , column-selection]
      +

      where row-selection and column-selection are the rows and columns we want to subset from the data frame.

      +

      Let’s start by a simple example, where we want to select a slice of columns, say the change in glacial volume per year in all regions. This corresponds to all columns between arctic and antarctica.

      +
      +
      # select all columns between 'arctic' and 'antarctica'
      +all_regions = df.loc[:,'arctic':'antarctica']
      +all_regions.head()
      +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      arcticalaskaasianorth_americasouth_americaantarctica
      0-108.382987-18.721190-32.350759-14.359007-4.739367-35.116389
      1-173.252450-24.324790-4.675440-2.161842-13.694367-78.222887
      2-0.423751-2.047567-3.027298-27.5358813.4196333.765109
      320.0701480.477800-18.675385-2.24828620.73263314.853096
      443.695389-0.115332-18.414602-19.3987656.86210222.793484
      +
      +
      +
      +

      Notice two things:

      +
        +
      • we used the colon : as the row-selection parameters, this means “select all the rows”
      • +
      • the slice of the data frame we got includes both endpoints of the slice 'arctic':'antarctica'. In other words we get the arctic column and the antarctica column. This is different from how slicing works in base Python and NumPy, where the end point is not included.
      • +
      +
      +
      +
      +

      2.5.3 Selecting rows…

      +
      +

      2.5.3.1 … using a condition

      +
      +
      +

      2.5.3.2 … by position

      +
      -Do not do that! +iloc vs. loc
      +

      At the beginning, the difference between iloc and loc can be confusing. Remember the i in iloc stands for integer-location, so this function only uses integer indexing to retrieve information from the data frames. Moreover, remember iloc indexing works in the same way as indexing for Python lists.

      +

      If you want to dive deeper, this is a great discussion about the difference between iloc and loc: Stackoverflow - How are iloc and loc different?

      +
      +
      +
      + +
      +
      +

      Suppose we want to access the 10th column in the data frame - then we want to select a column by position. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the iloc method*:

      +
      +
      # select column by position using iloc
      +# the syntax is iloc[rows,columns]
      +# [:,9] means "select all rows from the 10th column"
      +annual_rise_3 = df.iloc[:,9]
      +annual_rise_3.head()
      +
      +
      0    0.610010
      +1    0.810625
      +2    0.100292
      +3   -0.085596
      +4   -0.128392
      +Name: annual_sea_level_rise, dtype: float64
      +
      +

      Unless you are really looking for information about the 10th column, do not access a column by position. This is bound to break in many ways:

      • it relies on a person correctly counting the position of a column. Even with a small dataset this can be prone to error.

      • @@ -915,34 +976,8 @@
      -
      -
      -
      -
      -

      2.5.2 Selecting multiple columns…

      -
      -

      2.5.2.1 … using a list of column names

      -
      -
      -

      2.5.2.2 … using a slice

      -
      -
      -

      2.5.2.3 … using a condition

      -
      -
      -
      -

      2.5.3 Selecting rows

      -
      -

      2.5.3.1 … by label

      -
      -
      -

      2.5.3.2 … by position

      -
      -
      -

      2.5.3.3 … using a condition

      - +
      +

      This is not an exhaustive list of methods to select data, there are so many ways to subset the same data and it can get quite fancy. For a simple take on some of these concepts, the pandas Getting started tutorials - How do I select a subset of a DataFrame is a good reference.

      diff --git a/docs/search.json b/docs/search.json index a3aab86..b38807f 100644 --- a/docs/search.json +++ b/docs/search.json @@ -109,7 +109,7 @@ "href": "lectures/lesson-2-pandas-basics.html#series", "title": "2  Pandas Fundamentals", "section": "2.3 Series", - "text": "2.3 Series\nThe first core data structure of pandas is the series. A series is a one-dimensional array of indexed data. A pandas.Series having an index is the main difference between a pandas.Series and a numpy array. See the difference:\n\n# a numpy array\n# np.random.randn returns values from the std normal distribution\narr = np.random.randn(4) \nprint(type(arr))\nprint(arr, \"\\n\")\n\n# a pandas series made from the previous array\ns = pd.Series(arr)\nprint(type(s))\nprint(s)\n\n\n[-0.38948851 0.03689932 -0.97996969 1.35277789] \n\n\n0 -0.389489\n1 0.036899\n2 -0.979970\n3 1.352778\ndtype: float64\n\n\n\n2.3.1 How to create a pandas.Series\nThe basic method to create a pandas.Series is to call\ns = pd.Series(data, index=index)\nThe data parameter can be:\n\na numpy array or a list\na Python dictionary\na number\n\nThe index parameter is a list of index labels.\n\n2.3.1.1 From a numpy array or list\nTo use this method we need to pass a numpy array (or a list of objects that can be converted to NumPy types) as data and a list of indices of the same length as data.\n\n# a Series from a numpy array \npd.Series(np.arange(3), index=['a','b','c'])\n\na 0\nb 1\nc 2\ndtype: int64\n\n\nThe index parameter is optional. If we don’t include it, the default is to make the index equal to [0,...,len(data)-1]. For example:\n\n# a Series from a list of strings with default index\npd.Series(['EDS 220', 'EDS 222', 'EDS 223', 'EDS 242'])\n\n0 EDS 220\n1 EDS 222\n2 EDS 223\n3 EDS 242\ndtype: object\n\n\n\n\n2.3.1.2 From a dictionary\nRemember a dictionary is a set of key-value pairs. If we create a pandas.Series via a dictionary the keys will become the index and the values the corresponding data.\n\n# construct dictionary\nd = {'a':0, 'b':1, 'c':2}\n\n# initialize a sries using a dictionary\npd.Series(d)\n\na 0\nb 1\nc 2\ndtype: int64\n\n\n\n\n2.3.1.3 From a number\nIf we only provide a number as the data for the series, we need to provide an index. The number will be repeated to match the length of the index.\n\npd.Series(3.0, index = ['A', 'B', 'C'])\n\nA 3.0\nB 3.0\nC 3.0\ndtype: float64\n\n\n\n\n\n2.3.2 Arithmetic Operations\nArithmetic operations work on series and also most NumPy functions. For example:\n\n# define a series\ns = pd.Series([98,73,65],index=['Andrea', 'Beth', 'Carolina'])\n\n# divide each element in series by 10\nprint(s /10, '\\n')\n\n# take the exponential of each element in series\nprint(np.exp(s), '\\n')\n\n# notice this doesn't change the values of our series\nprint(s)\n\nAndrea 9.8\nBeth 7.3\nCarolina 6.5\ndtype: float64 \n\nAndrea 3.637971e+42\nBeth 5.052394e+31\nCarolina 1.694889e+28\ndtype: float64 \n\nAndrea 98\nBeth 73\nCarolina 65\ndtype: int64\n\n\nThere’s much more to say about pandas.Series, but this is enought to get us going. Mainly, we want to know about pandas.Series because they will be the columns of our pandas.DataFrame.\n\n\n2.3.3 Attributes & Methods\npandas.Series have many attributes and methods, you can see a full list in the pandas documentation. For now we will cover two examples that have to do with identifying missing values.\npandas represents a missing or NA value with NaN, which stands for not a number. Sometime\n\n\n2.3.4 Indexing\n\n2.3.4.1 By label…\nIndexing by label means we want to select data from our series using the label names in the series’ index. There are two ways of indexing by label:\n\n2.3.4.1.1 … with []\nWe can use [] to acess specific values by label in the same way as we do in a dictionary: series['index_label']\n\n# initalize series\ns = pd.Series(np.arange(5), index=['a','b','c','d','e'])\nprint(s, '\\n')\n\n# access element corresponding to label 'b'\ns['b']\n\na 0\nb 1\nc 2\nd 3\ne 4\ndtype: int64 \n\n\n\n1\n\n\n\n\n2.3.4.1.2 … with loc\nThis will be our preferred method in the course. We can do a many things with it:\n\n# access a specific element by label\ns.loc['b']\n\n1\n\n\n\n# access a few elements by label\ns.loc[['a','c','e']]\n\na 0\nc 2\ne 4\ndtype: int64\n\n\n\n# select based on True/False values\ns.loc[s>3]\n\ne 4\ndtype: int64\n\n\n\n# slice the series using the labels\ns.loc['b':'d']\n\nb 1\nc 2\nd 3\ndtype: int64\n\n\n\n\n\n\n\n\nslicing with loc\n\n\n\nNotice that when use slicing with loc we get both the start and the end of the indices we indicated. This is different to slicing in numpy arrays or lists where we do not get the element at the end of the slice. Compare the following:\n\nx = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\nprint(x)\n\n# slicing will return elements at indices 2 trhough 4 (inclusive)\nx[2:5]\n\n[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n\n\n[2, 3, 4]\n\n\n\n# define a np array with integers from 0 to 9\ny = np.arange(10)\nprint(y)\n\n# slicing will return elements at indices 2 trhough 4 (inclusive)\ny[2:5]\n\n[0 1 2 3 4 5 6 7 8 9]\n\n\narray([2, 3, 4])\n\n\n\n z = pd.Series(y)\n print(z)\n\n# slicing will return elements with index labels 2 through 5 (inclusive)\n z.loc[2:5]\n\n0 0\n1 1\n2 2\n3 3\n4 4\n5 5\n6 6\n7 7\n8 8\n9 9\ndtype: int64\n\n\n2 2\n3 3\n4 4\n5 5\ndtype: int64\n\n\n\n\n\n\n\n2.3.4.2 By position\nIndexing by position means we want to select data from our series based on where it is within the series.\nWe can access a value by position using the iloc method. iloc stands for integer-location based indexing. This is the same kind of indexing we do in 1-dimensional numpy arrays or lists, where we use integers to access elements in the array and the index starts from 0.\n\n# initialize series\ns = pd.Series(np.arange(10,13), index=['a','b','c'])\nprint(s, '\\n')\n\n# access element at index 2 (third element in series)\ns.iloc[2]\n\na 10\nb 11\nc 12\ndtype: int64 \n\n\n\n12\n\n\nIf we try to use iloc with a label from our index we will get an error. Notice the TypeError: Cannot index by location with a non-integer key.\n\n\n\n.\n\n\n\n\n\n\n\n\niloc vs. loc\n\n\n\nAt the beginning the difference between iloc and loc can be confusing. Remember the i in iloc stands for integer-location, so this function only uses integers to retrieve information from the series. Moreover, remember iloc indexing works in the same way as indexing for Python lists.\nIf you want to dive deeper, this is a great discussion about the difference between iloc and loc: Stackoverflow - How are iloc and loc different?" + "text": "2.3 Series\nThe first core data structure of pandas is the series. A series is a one-dimensional array of indexed data. A pandas.Series having an index is the main difference between a pandas.Series and a numpy array. See the difference:\n\n# a numpy array\n# np.random.randn returns values from the std normal distribution\narr = np.random.randn(4) \nprint(type(arr))\nprint(arr, \"\\n\")\n\n# a pandas series made from the previous array\ns = pd.Series(arr)\nprint(type(s))\nprint(s)\n\n\n[ 0.26255995 -0.43578912 2.45025948 1.46437431] \n\n\n0 0.262560\n1 -0.435789\n2 2.450259\n3 1.464374\ndtype: float64\n\n\n\n2.3.1 How to create a pandas.Series\nThe basic method to create a pandas.Series is to call\ns = pd.Series(data, index=index)\nThe data parameter can be:\n\na numpy array or a list\na Python dictionary\na number\n\nThe index parameter is a list of index labels.\n\n2.3.1.1 From a numpy array or list\nTo use this method we need to pass a numpy array (or a list of objects that can be converted to NumPy types) as data and a list of indices of the same length as data.\n\n# a Series from a numpy array \npd.Series(np.arange(3), index=['a','b','c'])\n\na 0\nb 1\nc 2\ndtype: int64\n\n\nThe index parameter is optional. If we don’t include it, the default is to make the index equal to [0,...,len(data)-1]. For example:\n\n# a Series from a list of strings with default index\npd.Series(['EDS 220', 'EDS 222', 'EDS 223', 'EDS 242'])\n\n0 EDS 220\n1 EDS 222\n2 EDS 223\n3 EDS 242\ndtype: object\n\n\n\n\n2.3.1.2 From a dictionary\nRemember a dictionary is a set of key-value pairs. If we create a pandas.Series via a dictionary the keys will become the index and the values the corresponding data.\n\n# construct dictionary\nd = {'a':0, 'b':1, 'c':2}\n\n# initialize a sries using a dictionary\npd.Series(d)\n\na 0\nb 1\nc 2\ndtype: int64\n\n\n\n\n2.3.1.3 From a number\nIf we only provide a number as the data for the series, we need to provide an index. The number will be repeated to match the length of the index.\n\npd.Series(3.0, index = ['A', 'B', 'C'])\n\nA 3.0\nB 3.0\nC 3.0\ndtype: float64\n\n\n\n\n\n2.3.2 Arithmetic operations\nArithmetic operations work on series and also most NumPy functions. For example:\n\n# define a series\ns = pd.Series([98,73,65],index=['Andrea', 'Beth', 'Carolina'])\n\n# divide each element in series by 10\nprint(s /10, '\\n')\n\n# take the exponential of each element in series\nprint(np.exp(s), '\\n')\n\n# notice this doesn't change the values of our series\nprint(s)\n\nAndrea 9.8\nBeth 7.3\nCarolina 6.5\ndtype: float64 \n\nAndrea 3.637971e+42\nBeth 5.052394e+31\nCarolina 1.694889e+28\ndtype: float64 \n\nAndrea 98\nBeth 73\nCarolina 65\ndtype: int64\n\n\nThere’s much more to say about pandas.Series, but this is enought to get us going. Mainly, we want to know about pandas.Series because they will be the columns of our pandas.DataFrame.\n\n\n2.3.3 Attributes & Methods\npandas.Series have many attributes and methods, you can see a full list in the pandas documentation. For now we will cover two examples that have to do with identifying missing values.\npandas represents a missing or NA value with NaN, which stands for not a number. Sometime" }, { "objectID": "lectures/lesson-2-pandas-basics.html#data-frames", @@ -123,7 +123,7 @@ "href": "lectures/lesson-2-pandas-basics.html#subsetting-a-pandas.dataframe", "title": "2  Pandas Fundamentals", "section": "2.5 Subsetting a pandas.DataFrame", - "text": "2.5 Subsetting a pandas.DataFrame\nLike it’s often the case when working with pandas, there are many ways in which we can subset a data frame. We will review the core methods to do this.\nThere are two ways to subset data in a Data Frame: by position and by label.\n\nSubsetting by label means we want to select data from our data frame using the names of the columns or the index.\nSubsetting by position means we want to select data from our data frame based on the data’s order in the data frame.\n\nLet’s dive into some methods for subsetting which will clarify these options. For all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center (Dataset DOI:!​). The column descriptions are:\n\nyear: ​calendar year\neurope - antarctica: ​change in glacial volume (km3​ ​) in each region that year\nglobal_glacial_volume_change: ​cumulative​ global glacial volume change (km3), starting in 1961\nannual_sea_level_rise: ​annual rise in sea level (mm)\ncumulative_sea_level_rise:​ cumulative rise in sea level (mm) since 1961\n\n\n# read in file\ndf = pd.read_csv('data/lesson-1/glacial_loss.csv')\n\n# see the first five rows\ndf.head()\n\n\n\n\n\n \n \n \n year\n europe\n arctic\n alaska\n asia\n north_america\n south_america\n antarctica\n global_glacial_volume_change\n annual_sea_level_rise\n cumulative_sea_level_rise\n \n \n \n \n 0\n 1961\n -5.128903\n -108.382987\n -18.721190\n -32.350759\n -14.359007\n -4.739367\n -35.116389\n -220.823515\n 0.610010\n 0.610010\n \n \n 1\n 1962\n 5.576282\n -173.252450\n -24.324790\n -4.675440\n -2.161842\n -13.694367\n -78.222887\n -514.269862\n 0.810625\n 1.420635\n \n \n 2\n 1963\n -10.123105\n -0.423751\n -2.047567\n -3.027298\n -27.535881\n 3.419633\n 3.765109\n -550.575640\n 0.100292\n 1.520927\n \n \n 3\n 1964\n -4.508358\n 20.070148\n 0.477800\n -18.675385\n -2.248286\n 20.732633\n 14.853096\n -519.589859\n -0.085596\n 1.435331\n \n \n 4\n 1965\n 10.629385\n 43.695389\n -0.115332\n -18.414602\n -19.398765\n 6.862102\n 22.793484\n -473.112003\n -0.128392\n 1.306939\n \n \n\n\n\n\nFirst, we can get some baisc information about this data frame:\n\n# print column names\nprint(df.columns)\n\n# print shape: output is a tupe (# rows, # columns)\nprint(df.shape)\n\nIndex(['year', 'europe', 'arctic', 'alaska', 'asia', 'north_america',\n 'south_america', 'antarctica', 'global_glacial_volume_change',\n 'annual_sea_level_rise', 'cumulative_sea_level_rise'],\n dtype='object')\n(43, 11)\n\n\n\n2.5.1 Selecting a single column…\n\n2.5.1.1 …by label\nThis is the simplest case for selecting data. Remember we can think of a pandas.DataFrame as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary:\nI’m interested in the annual sea level rise.\n\n# seelect a single column by using square brackets []\nannual_rise = df['annual_sea_level_rise']\n\n# check the type of the ouput\nprint(type(annual_rise))\n\nannual_rise.head()\n\n\n\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\nSince we only selected a single column the output is a pandas.Series.\nWe can also access a single column by using attribute syntax:\n\nannual_rise_2 = df.annual_sea_level_rise\nannual_rise_2.head()\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\n\n2.5.1.1.1 …by position\nSuppose we want to access the 10th column in the data frame - then we want to select a column by position. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the iloc method*:\n\n# select column by position using iloc\n# the syntax is iloc[rows,columns]\n# [:,9] means \"select all rows from the 10th column\"\nannual_rise_3 = df.iloc[:,9]\nannual_rise_3.head()\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\n\n\n\n\n\n\nDo not do that!\n\n\n\nUnless you are really looking for information about the 10th column, do not access a column by position. This is bound to break in many ways:\n\nit relies on a person correctly counting the position of a column. Even with a small dataset this can be prone to error.\nit is not explicit: if we wnat information about sea level rise df.annual_sea_level_rise or df['annual_sea_level_rise'] are explicitely telling us we are accessing that information. df.iloc[:,9] is obscure and uninformative.\ndatastets can get updated. Maybe a new column was added before annual_sea_level_rise, this would change the position of the column, which would make any code depnding on df.iloc[:,9] invalid. Accessing by label helps reproducibility!\n\n\n\n\n\n\n\n2.5.2 Selecting multiple columns…\n\n2.5.2.1 … using a list of column names\n\n\n2.5.2.2 … using a slice\n\n\n2.5.2.3 … using a condition\n\n\n\n2.5.3 Selecting rows\n\n2.5.3.1 … by label\n\n\n2.5.3.2 … by position\n\n\n2.5.3.3 … using a condition" + "text": "2.5 Subsetting a pandas.DataFrame\nLike it’s often the case when working with pandas, there are many ways in which we can subset a data frame. We will review the core methods to do this. \nFor all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center (Original dataset). The column descriptions are:\n\nyear: ​calendar year\neurope - antarctica: ​change in glacial volume (km3​ ​) in each region that year\nglobal_glacial_volume_change: ​cumulative​ global glacial volume change (km3), starting in 1961\nannual_sea_level_rise: ​annual rise in sea level (mm)\ncumulative_sea_level_rise:​ cumulative rise in sea level (mm) since 1961\n\nFirst, we read-in the file and get some baisc information about this data frame:\n\n# read in file\ndf = pd.read_csv('data/lesson-1/glacial_loss.csv')\n\n# see the first five rows\ndf.head()\n\n\n\n\n\n \n \n \n year\n europe\n arctic\n alaska\n asia\n north_america\n south_america\n antarctica\n global_glacial_volume_change\n annual_sea_level_rise\n cumulative_sea_level_rise\n \n \n \n \n 0\n 1961\n -5.128903\n -108.382987\n -18.721190\n -32.350759\n -14.359007\n -4.739367\n -35.116389\n -220.823515\n 0.610010\n 0.610010\n \n \n 1\n 1962\n 5.576282\n -173.252450\n -24.324790\n -4.675440\n -2.161842\n -13.694367\n -78.222887\n -514.269862\n 0.810625\n 1.420635\n \n \n 2\n 1963\n -10.123105\n -0.423751\n -2.047567\n -3.027298\n -27.535881\n 3.419633\n 3.765109\n -550.575640\n 0.100292\n 1.520927\n \n \n 3\n 1964\n -4.508358\n 20.070148\n 0.477800\n -18.675385\n -2.248286\n 20.732633\n 14.853096\n -519.589859\n -0.085596\n 1.435331\n \n \n 4\n 1965\n 10.629385\n 43.695389\n -0.115332\n -18.414602\n -19.398765\n 6.862102\n 22.793484\n -473.112003\n -0.128392\n 1.306939\n \n \n\n\n\n\n\n# get column names\ndf.columns\n\nIndex(['year', 'europe', 'arctic', 'alaska', 'asia', 'north_america',\n 'south_america', 'antarctica', 'global_glacial_volume_change',\n 'annual_sea_level_rise', 'cumulative_sea_level_rise'],\n dtype='object')\n\n\n\n# data frame's shape: output is a tuple (# rows, # columns)\ndf.shape\n\n(43, 11)\n\n\n\n2.5.1 Selecting a single column…\n\n2.5.1.1 …by label\nThis is the simplest case for selecting data. Suppose we are interested in the annual sea level rise. Then we can access that single column in this way:\n\n# seelect a single column by using square brackets []\nannual_rise = df['annual_sea_level_rise']\n\n# check the type of the ouput\nprint(type(annual_rise))\n\nannual_rise.head()\n\n\n\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\nSince we only selected a single column the output is a pandas.Series.\n\n\n\n\n\n\npd.DataFrame = dictionary of columns\n\n\n\nRemember we can think of a pandas.DataFrame as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary. That is the syntaxi we just used: df['column_name'].\n\n\nIn general, selecting by label means we want to select data from our data frame using the names of the columns, not their position.\n\n\n2.5.1.2 … with attribute syntax\nWe can also access a single column by using attribute syntax:\n\nannual_rise_2 = df.annual_sea_level_rise\nannual_rise_2.head()\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\n\n\n\n2.5.2 Selecting multiple columns…\n\n2.5.2.1 … using a list of column names\nThis is another example of selecting by labels. We just need to pass a list with the column names to the square brackets []. For example, say we want to look at the change in glacial volume in Europe and Asia, then we can select those columns like this:\n\n# select columns with names \"europe\" and \"asia\"\neurope_asia = df[['europe','asia']]\n\nNotice there are double square brackets. This is because we are passing the list of names ['europe','asia'] to the selection brakcets [].\n\n# check the type of the resulting selection\nprint(type(europe_asia))\n\n# check the shape of the selection\nprint((europe_asia.shape))\n\n\n(43, 2)\n\n\n\n\n2.5.2.2 … using a slice\nYet another example of label selection! In this case we will use the loc function. This is a powerful function! The general syntax is\ndf.loc[ row-selection , column-selection]\nwhere row-selection and column-selection are the rows and columns we want to subset from the data frame.\nLet’s start by a simple example, where we want to select a slice of columns, say the change in glacial volume per year in all regions. This corresponds to all columns between arctic and antarctica.\n\n# select all columns between 'arctic' and 'antarctica'\nall_regions = df.loc[:,'arctic':'antarctica']\nall_regions.head()\n\n\n\n\n\n \n \n \n arctic\n alaska\n asia\n north_america\n south_america\n antarctica\n \n \n \n \n 0\n -108.382987\n -18.721190\n -32.350759\n -14.359007\n -4.739367\n -35.116389\n \n \n 1\n -173.252450\n -24.324790\n -4.675440\n -2.161842\n -13.694367\n -78.222887\n \n \n 2\n -0.423751\n -2.047567\n -3.027298\n -27.535881\n 3.419633\n 3.765109\n \n \n 3\n 20.070148\n 0.477800\n -18.675385\n -2.248286\n 20.732633\n 14.853096\n \n \n 4\n 43.695389\n -0.115332\n -18.414602\n -19.398765\n 6.862102\n 22.793484\n \n \n\n\n\n\nNotice two things:\n\nwe used the colon : as the row-selection parameters, this means “select all the rows”\nthe slice of the data frame we got includes both endpoints of the slice 'arctic':'antarctica'. In other words we get the arctic column and the antarctica column. This is different from how slicing works in base Python and NumPy, where the end point is not included.\n\n\n\n\n2.5.3 Selecting rows…\n\n2.5.3.1 … using a condition\n\n\n2.5.3.2 … by position\n\n\n\n\n\n\niloc vs. loc\n\n\n\nAt the beginning, the difference between iloc and loc can be confusing. Remember the i in iloc stands for integer-location, so this function only uses integer indexing to retrieve information from the data frames. Moreover, remember iloc indexing works in the same way as indexing for Python lists.\nIf you want to dive deeper, this is a great discussion about the difference between iloc and loc: Stackoverflow - How are iloc and loc different?\n\n\n\n\n\n\n\n\nSelecting a column with iloc? Avoid it!\n\n\n\n\n\nSuppose we want to access the 10th column in the data frame - then we want to select a column by position. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the iloc method*:\n\n# select column by position using iloc\n# the syntax is iloc[rows,columns]\n# [:,9] means \"select all rows from the 10th column\"\nannual_rise_3 = df.iloc[:,9]\nannual_rise_3.head()\n\n0 0.610010\n1 0.810625\n2 0.100292\n3 -0.085596\n4 -0.128392\nName: annual_sea_level_rise, dtype: float64\n\n\nUnless you are really looking for information about the 10th column, do not access a column by position. This is bound to break in many ways:\n\nit relies on a person correctly counting the position of a column. Even with a small dataset this can be prone to error.\nit is not explicit: if we wnat information about sea level rise df.annual_sea_level_rise or df['annual_sea_level_rise'] are explicitely telling us we are accessing that information. df.iloc[:,9] is obscure and uninformative.\ndatastets can get updated. Maybe a new column was added before annual_sea_level_rise, this would change the position of the column, which would make any code depnding on df.iloc[:,9] invalid. Accessing by label helps reproducibility!\n\n\n\n\nThis is not an exhaustive list of methods to select data, there are so many ways to subset the same data and it can get quite fancy. For a simple take on some of these concepts, the pandas Getting started tutorials - How do I select a subset of a DataFrame is a good reference." }, { "objectID": "lectures/lesson-2-pandas-basics.html#basic-matplotlib", diff --git a/lectures/lesson-2-pandas-basics.qmd b/lectures/lesson-2-pandas-basics.qmd index a6453ea..5484582 100644 --- a/lectures/lesson-2-pandas-basics.qmd +++ b/lectures/lesson-2-pandas-basics.qmd @@ -91,7 +91,7 @@ pd.Series(3.0, index = ['A', 'B', 'C']) ``` -### Arithmetic Operations +### Arithmetic operations Arithmetic operations work on series and also most NumPy functions. For example: @@ -118,46 +118,7 @@ There's much more to say about `pandas.Series`, but this is enought to get us go `pandas` represents a missing or NA value with `NaN`, which stands for not a number. Sometime -### Indexing - -#### By label... - -Indexing by label means we want to select data from our series using the label names in the series' index. There are two ways of indexing by label: - -##### ... with `[]` - -We can use `[]` to acess specific values by label in the same way as we do in a dictionary: `series['index_label']` - -```{python} -# initalize series -s = pd.Series(np.arange(5), index=['a','b','c','d','e']) -print(s, '\n') - -# access element corresponding to label 'b' -s['b'] -``` - -##### ... with `loc` -This will be our preferred method in the course. We can do a many things with it: - -```{python} -# access a specific element by label -s.loc['b'] -``` -```{python} -# access a few elements by label -s.loc[['a','c','e']] -``` - -```{python} -# select based on True/False values -s.loc[s>3] -``` - -```{python} -# slice the series using the labels -s.loc['b':'d'] -``` + -#### By position -Indexing by position means we want to select data from our series based on where it is within the series. + -```{python} -# initialize series -s = pd.Series(np.arange(10,13), index=['a','b','c']) -print(s, '\n') - -# access element at index 2 (third element in series) -s.iloc[2] -``` - - -If we try to use `iloc` with a label from our index we will get an error. Notice the TypeError: *Cannot index by location with a non-integer key*. - -![. ](/images/lesson-2/iloc_error.png) - -::: {.callout-caution} -## `iloc` vs. `loc` -At the beginning the difference between `iloc` and `loc` can be confusing. Remember the `i` in `iloc` stands for integer-location, so this function only uses integers to retrieve information from the series. Moreover, remember `iloc` indexing works in the same way as indexing for Python lists. - -If you want to dive deeper, this is a great discussion about the difference between `iloc` and `loc`: [Stackoverflow - How are iloc and loc different?](https://stackoverflow.com/questions/31593201/how-are-iloc-and-loc-different/31593712#31593712) -::: - ## Data Frames The Data Frame is the most used `pandas` object. It represents tabular data and we can think of it as a spreadhseet. Each column of a `pandas.DataFrame` is a `pandas.Series`. @@ -258,14 +199,15 @@ df ## Subsetting a `pandas.DataFrame` Like it's often the case when working with `pandas`, there are *many* ways in which we can subset a data frame. We will review the core methods to do this. - + -Let's dive into some methods for subsetting which will clarify these options. For all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center (Dataset DOI:!​[](​http://dx.doi.org/10.7265/N52N506F)). The column descriptions are: +For all examples we will use simplified data (glacial_loss.csv) from the National Snow and Ice Data Center ([Original dataset](​http://dx.doi.org/10.7265/N52N506F)). The column descriptions are: - **year**: ​calendar year - **europe - antarctica**: ​change in glacial volume (km3​ ​) in each region that year @@ -274,6 +216,7 @@ starting in 1961 - **annual_sea_level_rise**: ​annual rise in sea level (mm) - **cumulative_sea_level_rise**:​ cumulative rise in sea level (mm) since 1961 +First, we read-in the file and get some baisc information about this data frame: ```{python} # read in file df = pd.read_csv('data/lesson-1/glacial_loss.csv') @@ -282,22 +225,19 @@ df = pd.read_csv('data/lesson-1/glacial_loss.csv') df.head() ``` -First, we can get some baisc information about this data frame: - ```{python} -# print column names -print(df.columns) - -# print shape: output is a tupe (# rows, # columns) -print(df.shape) +# get column names +df.columns +``` +```{python} +# data frame's shape: output is a tuple (# rows, # columns) +df.shape ``` ### Selecting a single column... #### ...by label -This is the simplest case for selecting data. Remember we can think of a `pandas.DataFrame` as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary: - -I'm interested in the annual sea level rise. +This is the simplest case for selecting data. Suppose we are interested in the annual sea level rise. Then we can access that single column in this way: ```{python} # seelect a single column by using square brackets [] annual_rise = df['annual_sea_level_rise'] @@ -310,6 +250,15 @@ annual_rise.head() Since we only selected a single column the output is a `pandas.Series`. +:::{.callout-note} +## `pd.DataFrame` = dictionary of columns +Remember we can think of a `pandas.DataFrame` as a dictionary of its columns? Then we can access a single column using the column name as the key, just like we would do in a dictionary. That is the syntaxi we just used: `df['column_name']`. +::: + +In general, **selecting by label** means we want to select data from our data frame using the *names* of the columns, *not their position*. + +#### ... with attribute syntax + We can also access a single column by using attribute syntax: ```{python} @@ -317,8 +266,67 @@ annual_rise_2 = df.annual_sea_level_rise annual_rise_2.head() ``` -##### ...by position -Suppose we want to access the 10th column in the data frame - then we want to select a column by position. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the `iloc` method*: + +### Selecting multiple columns... + +#### ... using a list of column names +This is another example of selecting by labels. We just need to pass a list with the column names to the square brackets `[]`. For example, say we want to look at the change in glacial volume in Europe and Asia, then we can select those columns like this: + +```{python} +# select columns with names "europe" and "asia" +europe_asia = df[['europe','asia']] +``` + +Notice there are double square brackets. This is because we are passing the list of names `['europe','asia']` to the selection brakcets `[]`. + +```{python} +# check the type of the resulting selection +print(type(europe_asia)) + +# check the shape of the selection +print((europe_asia.shape)) +``` + +#### ... using a slice +Yet another example of label selection! In this case we will use the `loc` function. This is a powerful function! The general syntax is + +```python +df.loc[ row-selection , column-selection] +``` +where `row-selection` and `column-selection` are the rows and columns we want to subset from the data frame. + +Let's start by a simple example, where we want to select a slice of columns, say the change in glacial volume per year in all regions. This corresponds to all columns between `arctic` and `antarctica`. + +```{python} +# select all columns between 'arctic' and 'antarctica' +all_regions = df.loc[:,'arctic':'antarctica'] +all_regions.head() +``` + +Notice two things: + +- we used the colon `:` as the `row-selection` parameters, this means "select all the rows" +- the slice of the data frame we got includes both endpoints of the slice `'arctic':'antarctica'`. In other words we get the `arctic` column *and* the `antarctica` column. This is different from how slicing works in base Python and NumPy, where the end point is not included. + +### Selecting rows... + +#### ... using a condition + +#### ... by position + + + +::: {.callout-caution} +## `iloc` vs. `loc` +At the beginning, the difference between `iloc` and `loc` can be confusing. Remember the `i` in `iloc` stands for integer-location, so this function only uses integer indexing to retrieve information from the data frames. Moreover, remember `iloc` indexing works in the same way as indexing for Python lists. + +If you want to dive deeper, this is a great discussion about the difference between `iloc` and `loc`: [Stackoverflow - How are iloc and loc different?](https://stackoverflow.com/questions/31593201/how-are-iloc-and-loc-different/31593712#31593712) +::: + +:::{.callout-warning collapse="true"} +## Selecting a column with `iloc`? Avoid it! + +Suppose we want to access the 10th column in the data frame - then we want to select a column *by position*. In this case the 10th column is the annual sea level rise data and the 10th position corresponds to the index 9. We can select this column by position using the `iloc` method*: ```{python} # select column by position using iloc @@ -328,8 +336,6 @@ annual_rise_3 = df.iloc[:,9] annual_rise_3.head() ``` -:::{.callout-warning} -## Do not do that! Unless you are really looking for information about *the 10th column*, do not access a column by position. This is bound to break in many ways: - it relies on a person correctly counting the position of a column. Even with a small dataset this can be prone to error. @@ -340,28 +346,10 @@ Unless you are really looking for information about *the 10th column*, do not ac ::: -### Selecting multiple columns... - -#### ... using a list of column names - -#### ... using a slice - -#### ... using a condition - -### Selecting rows - -#### ... by label - -#### ... by position +This is not an exhaustive list of methods to select data, there are *so many* ways to subset the same data and [it can get quite fancy.](https://pandas.pydata.org/docs/user_guide/indexing.html#selection-by-label) For a simple take on some of these concepts, the `pandas` [Getting started tutorials - How do I select a subset of a +DataFrame](https://pandas.pydata.org/docs/getting_started/intro_tutorials/03_subset_data.html) is a good reference. -#### ... using a condition - - - - ## Basic Matplotlib