Skip to content

Commit 2deb7ac

Browse files
author
tp
committed
Improved doc string for IntervalIndex + related changes
1 parent eaa5081 commit 2deb7ac

File tree

2 files changed

+83
-0
lines changed

2 files changed

+83
-0
lines changed

pandas/_libs/interval.pyx

+4
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ cdef class Interval(IntervalMixin):
5858
closed : {'left', 'right', 'both', 'neither'}
5959
Whether the interval is closed on the left-side, right-side, both or
6060
neither. Defaults to 'right'.
61+
62+
See Also
63+
--------
64+
IntervalIndex : an Index of intervals that are all closed on the same side.
6165
"""
6266

6367
cdef readonly object left, right

pandas/core/indexes/interval.py

+79
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,42 @@ class IntervalIndex(IntervalMixin, Index):
120120
copy : boolean, default False
121121
Copy the meta-data
122122
123+
Examples
124+
---------
125+
A new ``IntervalIndex`` is typically constructed using
126+
:func:`interval_range`:
127+
128+
>>> pd.interval_range(start=0, end=5)
129+
IntervalIndex([(0, 1], (1, 2], (2, 3], (3, 4], (4, 5]]
130+
closed='right', dtype='interval[int64]')
131+
132+
It may also be constructed using one of the constructor
133+
methods :meth:`IntervalIndex.from_arrays`,
134+
:meth:`IntervalIndex.from_breaks`, :meth:`IntervalIndex.from_intervals`
135+
and :meth:`IntervalIndex.from_tuples`.
136+
137+
See further examples in the doc strings of ``interval_range`` and the
138+
mentioned constructor methods.
139+
140+
Notes
141+
------
142+
See the `user guide
143+
<http://pandas.pydata.org/pandas-docs/stable/advanced.html#intervalindex>`_
144+
for more.
145+
123146
See Also
124147
--------
125148
Index
149+
Interval : A bounded slice-like interval
150+
interval_range : Function to create a fixed frequency IntervalIndex
151+
IntervalIndex.from_arrays : Construct an IntervalIndex from a left and
152+
right array
153+
IntervalIndex.from_breaks : Construct an IntervalIndex from an array of
154+
splits
155+
IntervalIndex.from_intervals : Construct an IntervalIndex from an array of
156+
Interval objects
157+
IntervalIndex.from_tuples : Construct an IntervalIndex from a list/array of
158+
tuples
126159
"""
127160
_typ = 'intervalindex'
128161
_comparables = ['name']
@@ -324,6 +357,16 @@ def from_breaks(cls, breaks, closed='right', name=None, copy=False):
324357
IntervalIndex(left=[0, 1, 2],
325358
right=[1, 2, 3],
326359
closed='right')
360+
361+
See Also
362+
--------
363+
interval_range : Function to create a fixed frequency IntervalIndex
364+
IntervalIndex.from_arrays : Construct an IntervalIndex from a left and
365+
right array
366+
IntervalIndex.from_intervals : Construct an IntervalIndex from an array of
367+
Interval objects
368+
IntervalIndex.from_tuples : Construct an IntervalIndex from a list/array of
369+
tuples
327370
"""
328371
breaks = np.asarray(breaks)
329372
return cls.from_arrays(breaks[:-1], breaks[1:], closed,
@@ -355,6 +398,16 @@ def from_arrays(cls, left, right, closed='right', name=None, copy=False):
355398
IntervalIndex(left=[0, 1, 2],
356399
right=[1, 2, 3],
357400
closed='right')
401+
402+
See Also
403+
--------
404+
interval_range : Function to create a fixed frequency IntervalIndex
405+
IntervalIndex.from_breaks : Construct an IntervalIndex from an array of
406+
splits
407+
IntervalIndex.from_intervals : Construct an IntervalIndex from an array of
408+
Interval objects
409+
IntervalIndex.from_tuples : Construct an IntervalIndex from a list/array of
410+
tuples
358411
"""
359412
left = np.asarray(left)
360413
right = np.asarray(right)
@@ -391,6 +444,16 @@ def from_intervals(cls, data, name=None, copy=False):
391444
IntervalIndex(left=[0, 1],
392445
right=[1, 2],
393446
closed='right')
447+
448+
See Also
449+
--------
450+
interval_range : Function to create a fixed frequency IntervalIndex
451+
IntervalIndex.from_arrays : Construct an IntervalIndex from a left and
452+
right array
453+
IntervalIndex.from_breaks : Construct an IntervalIndex from an array of
454+
splits
455+
IntervalIndex.from_tuples : Construct an IntervalIndex from a list/array of
456+
tuples
394457
"""
395458
data = np.asarray(data)
396459
left, right, closed = intervals_to_interval_bounds(data)
@@ -415,7 +478,19 @@ def from_tuples(cls, data, closed='right', name=None, copy=False):
415478
416479
Examples
417480
--------
481+
>>> pd.IntervalIndex.from_tuples([(0, 1), (1,2)])
482+
IntervalIndex([(0, 1], (1, 2]],
483+
closed='right', dtype='interval[int64]')
418484
485+
See Also
486+
--------
487+
interval_range : Function to create a fixed frequency IntervalIndex
488+
IntervalIndex.from_arrays : Construct an IntervalIndex from a left and
489+
right array
490+
IntervalIndex.from_breaks : Construct an IntervalIndex from an array of
491+
splits
492+
IntervalIndex.from_intervals : Construct an IntervalIndex from an array of
493+
Interval objects
419494
"""
420495
left = []
421496
right = []
@@ -1159,6 +1234,10 @@ def interval_range(start=None, end=None, periods=None, freq=None,
11591234
>>> pd.interval_range(end=5, periods=4, closed='both')
11601235
IntervalIndex([[1, 2], [2, 3], [3, 4], [4, 5]]
11611236
closed='both', dtype='interval[int64]')
1237+
1238+
See Also
1239+
--------
1240+
IntervalIndex : an Index of intervals that are all closed on the same side.
11621241
"""
11631242
if com._count_not_none(start, end, periods) != 2:
11641243
raise ValueError('Of the three parameters: start, end, and periods, '

0 commit comments

Comments
 (0)