-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Bug22373: Enhance documentation for RangeIndex #22421
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 6 commits
bf2c14d
4d9859c
7606c7d
bcd985f
201408e
5624b8d
a1a1b1b
219f5ee
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,23 +30,30 @@ class RangeIndex(Int64Index): | |
""" | ||
Immutable Index implementing a monotonic integer range. | ||
|
||
RangeIndex is a memory-saving special case of Int64Index limited to | ||
representing monotonic ranges. Using RangeIndex may in some instances | ||
improve computing speed. | ||
RangeIndex is a memory-saving special case of :class:`~pandas.Int64Index` | ||
limited to representing monotonic ranges. Using RangeIndex may in some | ||
instances improve computing speed. | ||
|
||
This is the default index type used | ||
by DataFrame and Series when no explicit index is provided by the user. | ||
by `DataFrame` and `Series` when no explicit index is provided by the user. | ||
|
||
Parameters | ||
---------- | ||
start : int (default: 0), or other RangeIndex instance. | ||
If int and "stop" is not given, interpreted as "stop" instead. | ||
stop : int (default: 0) | ||
step : int (default: 1) | ||
name : object, optional | ||
Name to be stored in the index | ||
start : int or other RangeIndex instance, default 0 | ||
If of type `int` and `stop` is not given, interpreted as `stop` | ||
instead. | ||
stop : int, default 0 | ||
step : int, default 1 | ||
dtype : numpy dtype or pandas type, default int64 | ||
Only the default `int64` is supported, argument accepted for | ||
homogeneity with other index types. | ||
copy : bool, default False | ||
Unused, accepted for homogeneity with other index types. | ||
name : object, optional | ||
Name to be stored in the index | ||
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. this constructor should be discouraged for using integers on ranges, this is the reason we have |
||
fastpath : bool, default False | ||
Do not validate arguments. If `fastpath` is `True`, `start` has to be | ||
of type `int`. | ||
|
||
See Also | ||
-------- | ||
|
@@ -119,7 +126,20 @@ def ensure_int(value, field): | |
|
||
@classmethod | ||
def from_range(cls, data, name=None, dtype=None, **kwargs): | ||
""" create RangeIndex from a range (py3), or xrange (py2) object """ | ||
""" | ||
Create RangeIndex from a range (py3), or xrange (py2) object. | ||
|
||
Parameters | ||
---------- | ||
data : range (py3), or xrange (py2) | ||
name : object | ||
Name to be stored in the index | ||
dtype : numpy dtype or pandas type, default int64 | ||
Only the default int64 is supported, argument accepted for | ||
homogeneity with other index types. | ||
**kwargs | ||
These parameters will be passed to :class:`~pandas.RangeIndex`. | ||
""" | ||
if not isinstance(data, range): | ||
raise TypeError( | ||
'{0}(...) must be called with object coercible to a ' | ||
|
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.
It'f be good to have these documented. Also,
start
, which would be good to have a description, besides the behavior described.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.
Re documenting
start
,stop
andstep
: I also thought that it would be nice to document them, and figured we could just recycle the python documentation forrange
. However, the documentation for the arguments is very basic in python as well: "stop
: The value of the stop parameter". Maybe there is not much else to say?But I'll try to adapt the rest of the python
range
docs (i.e. the long description) and try to come up with some useful examples.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.
I think it can be useful to say whether the
stop
value is included or not. It's not obvious to me thatrange(0, 10)
doesn't include the10
.Also, for beginner users, something as simple as
start : The first value of the generated range.
can be useful.step
can be tricky, do we support negative values, asrange
?I do think there is a lot to say. :)
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.
this is standard python behavior to NOT include the rhs on ranges.