Skip to content

Commit 4030432

Browse files
authored
DOC: clean up internals.rst (#51107)
* DOC: clean up internals.rst * add some links
1 parent 8c5cc9c commit 4030432

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

doc/source/development/internals.rst

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,24 @@ Indexing
1515
In pandas there are a few objects implemented which can serve as valid
1616
containers for the axis labels:
1717

18-
* ``Index``: the generic "ordered set" object, an ndarray of object dtype
18+
* :class:`Index`: the generic "ordered set" object, an ndarray of object dtype
1919
assuming nothing about its contents. The labels must be hashable (and
2020
likely immutable) and unique. Populates a dict of label to location in
2121
Cython to do ``O(1)`` lookups.
2222
* ``Int64Index``: a version of ``Index`` highly optimized for 64-bit integer
2323
data, such as time stamps
2424
* ``Float64Index``: a version of ``Index`` highly optimized for 64-bit float data
25-
* ``MultiIndex``: the standard hierarchical index object
26-
* ``DatetimeIndex``: An Index object with ``Timestamp`` boxed elements (impl are the int64 values)
27-
* ``TimedeltaIndex``: An Index object with ``Timedelta`` boxed elements (impl are the in64 values)
28-
* ``PeriodIndex``: An Index object with Period elements
25+
* :class:`MultiIndex`: the standard hierarchical index object
26+
* :class:`DatetimeIndex`: An Index object with :class:`Timestamp` boxed elements (impl are the int64 values)
27+
* :class:`TimedeltaIndex`: An Index object with :class:`Timedelta` boxed elements (impl are the in64 values)
28+
* :class:`PeriodIndex`: An Index object with Period elements
2929

3030
There are functions that make the creation of a regular index easy:
3131

32-
* ``date_range``: fixed frequency date range generated from a time rule or
32+
* :func:`date_range`: fixed frequency date range generated from a time rule or
3333
DateOffset. An ndarray of Python datetime objects
34-
* ``period_range``: fixed frequency date range generated from a time rule or
35-
DateOffset. An ndarray of ``Period`` objects, representing timespans
34+
* :func:`period_range`: fixed frequency date range generated from a time rule or
35+
DateOffset. An ndarray of :class:`Period` objects, representing timespans
3636

3737
The motivation for having an ``Index`` class in the first place was to enable
3838
different implementations of indexing. This means that it's possible for you,
@@ -43,28 +43,28 @@ From an internal implementation point of view, the relevant methods that an
4343
``Index`` must define are one or more of the following (depending on how
4444
incompatible the new object internals are with the ``Index`` functions):
4545

46-
* ``get_loc``: returns an "indexer" (an integer, or in some cases a
46+
* :meth:`~Index.get_loc`: returns an "indexer" (an integer, or in some cases a
4747
slice object) for a label
48-
* ``slice_locs``: returns the "range" to slice between two labels
49-
* ``get_indexer``: Computes the indexing vector for reindexing / data
48+
* :meth:`~Index.slice_locs`: returns the "range" to slice between two labels
49+
* :meth:`~Index.get_indexer`: Computes the indexing vector for reindexing / data
5050
alignment purposes. See the source / docstrings for more on this
51-
* ``get_indexer_non_unique``: Computes the indexing vector for reindexing / data
51+
* :meth:`~Index.get_indexer_non_unique`: Computes the indexing vector for reindexing / data
5252
alignment purposes when the index is non-unique. See the source / docstrings
5353
for more on this
54-
* ``reindex``: Does any pre-conversion of the input index then calls
54+
* :meth:`~Index.reindex`: Does any pre-conversion of the input index then calls
5555
``get_indexer``
56-
* ``union``, ``intersection``: computes the union or intersection of two
56+
* :meth:`~Index.union`, :meth:`~Index.intersection`: computes the union or intersection of two
5757
Index objects
58-
* ``insert``: Inserts a new label into an Index, yielding a new object
59-
* ``delete``: Delete a label, yielding a new object
60-
* ``drop``: Deletes a set of labels
61-
* ``take``: Analogous to ndarray.take
58+
* :meth:`~Index.insert`: Inserts a new label into an Index, yielding a new object
59+
* :meth:`~Index.delete`: Delete a label, yielding a new object
60+
* :meth:`~Index.drop`: Deletes a set of labels
61+
* :meth:`~Index.take`: Analogous to ndarray.take
6262

6363
MultiIndex
6464
~~~~~~~~~~
6565

66-
Internally, the ``MultiIndex`` consists of a few things: the **levels**, the
67-
integer **codes** (until version 0.24 named *labels*), and the level **names**:
66+
Internally, the :class:`MultiIndex` consists of a few things: the **levels**, the
67+
integer **codes**, and the level **names**:
6868

6969
.. ipython:: python
7070
@@ -80,13 +80,13 @@ You can probably guess that the codes determine which unique element is
8080
identified with that location at each layer of the index. It's important to
8181
note that sortedness is determined **solely** from the integer codes and does
8282
not check (or care) whether the levels themselves are sorted. Fortunately, the
83-
constructors ``from_tuples`` and ``from_arrays`` ensure that this is true, but
84-
if you compute the levels and codes yourself, please be careful.
83+
constructors :meth:`~MultiIndex.from_tuples` and :meth:`~MultiIndex.from_arrays` ensure
84+
that this is true, but if you compute the levels and codes yourself, please be careful.
8585

8686
Values
8787
~~~~~~
8888

89-
pandas extends NumPy's type system with custom types, like ``Categorical`` or
89+
pandas extends NumPy's type system with custom types, like :class:`Categorical` or
9090
datetimes with a timezone, so we have multiple notions of "values". For 1-D
9191
containers (``Index`` classes and ``Series``) we have the following convention:
9292

0 commit comments

Comments
 (0)