3 ms·
Sure thing. For slicing, see Jake VanderPlas's book: https://jakevdp.github.io/PythonDataScienceHandbook/03.02-data-indexing-and-selection.html https://jakevdp
by paultopia 9y ago
Sure thing.
For slicing, see Jake VanderPlas's book: https://jakevdp.github.io/PythonDataScienceHandbook/03.02-data-indexing-and-selection.html https://jakevdp.github.io/PythonDataScienceHandbook/03.02-da...) that describes the complexities -- some kinds of pandas slicing include the last index, some kinds don't.
View vs copy is even worse. There are some situations where indexing on a DataFrame yields a view, some situations where it yields a copy, and they are effectively indeterminate in a lot of situations. From the Pandas documentation https://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy https://pandas.pydata.org/pandas-docs/stable/indexing.html#i...:
See that __getitem__ in there? Outside of simple cases,
it’s very hard to predict whether it will return a view
or a copy (it depends on the memory layout of the
array, about which pandas makes no guarantees), and
therefore whether the __setitem__ will modify dfmi
or a temporary object that gets thrown out immediately
afterward.
By contrast, the vanilla python rules are much simpler: slicing always leaves off the last index, and the rules for view vs copy of mutable data structures like lists are at least determinate...
- vram22 9y agoThanks for the reply. I can see how it can be confusing, and more so for that indeterminate part.