why dataframe.iloc[1,5] return an error but dataframe.iloc[[1,5]] not?
CodePudding user response:
dataframe.iloc[1,5]
returns an error because it is trying to access a single scalar value at the intersection of row 1 and column 5 in the DataFrame.
On the other hand, dataframe.iloc[[1,5]]
does not return an error because it is trying to access multiple rows (rows 1 and 5) in the DataFrame. In this case, the output is a new DataFrame containing those specific rows.
The .iloc
attribute is used to access a specific location in the DataFrame by index position. When passing a single integer value to .iloc
, it will treat it as the index of the row, and when passing a list of integers, it will treat it as the indices of the rows.
So in short, when you use dataframe.iloc[1,5]
it's trying to access a single value at a specific location, which doesn't exist in the dataframe. But when using dataframe.iloc[[1,5]]
you're accessing the rows with those indexes, which exist in the dataframe.