See above, df[[“col1”, “col7”]] semantically is very similar to df[“row3”:“row5”], because “row3”:“row5” is kind equivalent to [“row3”, “row4”, “row5”], but the results are very different, one is for column selection and the other is for row selection, which creates some confusion, what do you think?
Agreed! The shortcuts can be confusing. However, I am not sure whether shortcuts can be created semantically. This is because of the limited options we have when it comes to creating a shortcut. For example, Ctrl + C is a shortcut for Copy. Which makes sense cause
C is the first letter of
Copy. But why paste is Ctrl + V instead of Ctrl + P. First of all
P is reserved for Print. So they must come up with a new key combination. But why did they choose
V? Because it appears next to
C in keyboard and from a usability standpoint, we may want to perform both Copy and Paste in a sequence. So
V makes it easier. Therefore, shortcuts are often created based on usability and intuition.
>>> import seaborn as sns >>> iris = sns.load_dataset('iris')
In a dataset, we use slice operation mostly when we want to select rows. And the row indices are most often arranged in ascending order. So it is very intuitive to do:
>>> iris[5:10] sepal_length sepal_width petal_length petal_width species 5 5.4 3.9 1.7 0.4 setosa 6 4.6 3.4 1.4 0.3 setosa 7 5.0 3.4 1.5 0.2 setosa 8 4.4 2.9 1.4 0.2 setosa 9 4.9 3.1 1.5 0.1 setosa
On the other hand, often, we may only want to select a specific list of columns. So this shortcut works well:
>>> iris[['petal_length', 'species']] petal_length species 0 1.4 setosa 1 1.4 setosa 2 1.3 setosa 3 1.5 setosa 4 1.4 setosa 5 1.7 setosa 6 1.4 setosa 7 1.5 setosa ...
Hope this helps