-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
DOC: Improving docstring of take method #16948
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2063,57 +2063,77 @@ def __delitem__(self, key): | |
|
||
def take(self, indices, axis=0, convert=True, is_copy=True, **kwargs): | ||
""" | ||
Return an object formed from the elements in the given indices along an | ||
axis | ||
Return the elements in the given *positional* indices along an axis. | ||
|
||
This means that we are not indexing according to actual values in | ||
the index attribute of the object. We are indexing according to the | ||
actual position of the element in the object. | ||
|
||
Parameters | ||
---------- | ||
indices : list / array of ints | ||
indices : array-like | ||
An array of ints indicating which positions to take. | ||
axis : int, default 0 | ||
convert : translate neg to pos indices (default) | ||
is_copy : mark the returned frame as a copy | ||
The axis on which to select elements. "0" means that we are | ||
selecting rows, "1" means that we are selecting columns, etc. | ||
convert : bool, default True | ||
Whether to convert negative indices to positive ones, just as with | ||
indexing into Python lists. For example, if `-1` was passed in, | ||
this index would be converted ``n - 1``. | ||
is_copy : bool, default True | ||
Whether to return a copy of the original object or not. | ||
|
||
Examples | ||
-------- | ||
>>> import numpy as np | ||
>>> import pandas as pd | ||
>>> df = pd.DataFrame([('falcon', 'bird', 389.0), | ||
('parrot', 'bird', 24.0), | ||
('lion', 'mammal', 80.5), | ||
('monkey', 'mammal', np.nan)], | ||
columns=('name', 'class', 'max_speed')) | ||
columns=('name', 'class', 'max_speed'), | ||
index=[0, 2, 3, 1]) | ||
>>> df | ||
name class max_speed | ||
0 falcon bird 389.0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add a comment that these are positional selections (where you think it is needed) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
||
1 parrot bird 24.0 | ||
2 lion mammal 80.5 | ||
3 monkey mammal NaN | ||
2 parrot bird 24.0 | ||
3 lion mammal 80.5 | ||
1 monkey mammal NaN | ||
|
||
Take elements at positions 0 and 3 along the axis 0 (default). | ||
|
||
Take elements at indices 0 and 3 along the axis 0 (default) | ||
Note how the actual indices selected (0 and 1) do not correspond to | ||
our selected indices 0 and 3. That's because we are selecting the 0th | ||
and 3rd rows, not rows whose indices equal 0 and 3. | ||
|
||
>>> df.take([0, 3]) | ||
0 falcon bird 389.0 | ||
3 monkey mammal NaN | ||
1 monkey mammal NaN | ||
|
||
Take elements at indices 1 and 2 along the axis 1 | ||
Take elements at indices 1 and 2 along the axis 1 (column selection). | ||
|
||
>>> df.take([1, 2], axis=1) | ||
class max_speed | ||
0 bird 389.0 | ||
1 bird 24.0 | ||
2 mammal 80.5 | ||
3 mammal NaN | ||
2 bird 24.0 | ||
3 mammal 80.5 | ||
1 mammal NaN | ||
|
||
Also, we may take elements using negative integers for pos indices | ||
We may take elements using negative integers for positive indices, | ||
starting from the end of the object, just like with Python lists. | ||
|
||
>>> df.take([-1, -2]) | ||
name class max_speed | ||
3 monkey mammal NaN | ||
2 lion mammal 80.5 | ||
1 monkey mammal NaN | ||
3 lion mammal 80.5 | ||
|
||
Returns | ||
------- | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. add a See Also, showing ndarray.take There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done. |
||
taken : type of caller | ||
An array-like containing the elements taken from the object. | ||
|
||
See Also | ||
-------- | ||
numpy.ndarray.take | ||
numpy.take | ||
""" | ||
nv.validate_take(tuple(), kwargs) | ||
self._consolidate_inplace() | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
give this an index (like [0, 3, 2, 1]) or something to emphasize that these are positional operations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.