Directly using the indexing operator is the correct method to select one or more columns from a DataFrame. However, it does not allow you to select both rows and columns simultaneously. To select rows and columns simultaneously, you will need to pass both valid row and column selections separated by a comma to either the .iloc or .loc indexers.
Selecting DataFrame rows and columns simultaneously
Getting ready
The generic form to select rows and columns will look like the following code:
>>> df.iloc[rows, columns]
>>> df.loc[rows, columns]
The rows and columns variables may be scalar values, lists, slice objects, or boolean sequences.
Passing a boolean sequence to the indexers is covered in Chapter 5, Boolean...