Unfortunately, you cannot select multiple columns using a single bracket. The possible arguments for square brackets are a slice of row numbers, a list of column labels, or a single column label. The first two arguments output a dataframe, whereas the last argument outputs a series for the column that you inputted.
The ‘iloc’ function selects rows and columns by 0-indexed numbers. If you want to select all rows, but only the 0th and 4th columns, you could write ‘df.iloc[:, [0,4]]’. The ‘:’ means that we are selecting all rows! The arguments for both rows and columns can be a list, a slice where the number on the right hand side is exclusive, or a single value.
According to the ‘groupby’ documentation, one of the possible parameters is ‘as_index’, which is defaulted to the boolean value True. This means that the column(s) that you passed into ‘groupby’ becomes the new index, hence the bolded column(s)! You can manually set the ‘as-index = False’ when calling the function if you do not want this to happen.