There are three separate methods to slice dataframes, the [] operator, iloc and loc. I undertand what they do and when and how to use them. However, I do not comprehend why this is necessary. Why isn't there just a [,] two-tuple operator with behavior based on the input type (slice/integers, logical, labels)? Is it a legacy thing due to some irreversible early choices limiting the function of the [] operator ? Continue reading...