Merge branch 'master' into master · rs2/pandas@a1dbdf2 (original) (raw)

`@@ -2063,18 +2063,77 @@ def delitem(self, key):

`

2063

2063

``

2064

2064

`def take(self, indices, axis=0, convert=True, is_copy=True, **kwargs):

`

2065

2065

`"""

`

2066

``

`-

Analogous to ndarray.take

`

``

2066

`+

Return the elements in the given positional indices along an axis.

`

``

2067

+

``

2068

`+

This means that we are not indexing according to actual values in

`

``

2069

`+

the index attribute of the object. We are indexing according to the

`

``

2070

`+

actual position of the element in the object.

`

2067

2071

``

2068

2072

` Parameters

`

2069

2073

` ----------

`

2070

``

`-

indices : list / array of ints

`

``

2074

`+

indices : array-like

`

``

2075

`+

An array of ints indicating which positions to take.

`

2071

2076

` axis : int, default 0

`

2072

``

`-

convert : translate neg to pos indices (default)

`

2073

``

`-

is_copy : mark the returned frame as a copy

`

``

2077

`+

The axis on which to select elements. "0" means that we are

`

``

2078

`+

selecting rows, "1" means that we are selecting columns, etc.

`

``

2079

`+

convert : bool, default True

`

``

2080

`+

Whether to convert negative indices to positive ones, just as with

`

``

2081

`` +

indexing into Python lists. For example, if -1 was passed in,

``

``

2082


 this index would be converted ``n - 1``.

``

2083

`+

is_copy : bool, default True

`

``

2084

`+

Whether to return a copy of the original object or not.

`

``

2085

+

``

2086

`+

Examples

`

``

2087

`+


`

``

2088

`+

df = pd.DataFrame([('falcon', 'bird', 389.0),

`

``

2089

`+

('parrot', 'bird', 24.0),

`

``

2090

`+

('lion', 'mammal', 80.5),

`

``

2091

`+

('monkey', 'mammal', np.nan)],

`

``

2092

`+

columns=('name', 'class', 'max_speed'),

`

``

2093

`+

index=[0, 2, 3, 1])

`

``

2094

`+

df

`

``

2095

`+

name class max_speed

`

``

2096

`+

0 falcon bird 389.0

`

``

2097

`+

2 parrot bird 24.0

`

``

2098

`+

3 lion mammal 80.5

`

``

2099

`+

1 monkey mammal NaN

`

``

2100

+

``

2101

`+

Take elements at positions 0 and 3 along the axis 0 (default).

`

``

2102

+

``

2103

`+

Note how the actual indices selected (0 and 1) do not correspond to

`

``

2104

`+

our selected indices 0 and 3. That's because we are selecting the 0th

`

``

2105

`+

and 3rd rows, not rows whose indices equal 0 and 3.

`

``

2106

+

``

2107

`+

df.take([0, 3])

`

``

2108

`+

0 falcon bird 389.0

`

``

2109

`+

1 monkey mammal NaN

`

``

2110

+

``

2111

`+

Take elements at indices 1 and 2 along the axis 1 (column selection).

`

``

2112

+

``

2113

`+

df.take([1, 2], axis=1)

`

``

2114

`+

class max_speed

`

``

2115

`+

0 bird 389.0

`

``

2116

`+

2 bird 24.0

`

``

2117

`+

3 mammal 80.5

`

``

2118

`+

1 mammal NaN

`

``

2119

+

``

2120

`+

We may take elements using negative integers for positive indices,

`

``

2121

`+

starting from the end of the object, just like with Python lists.

`

``

2122

+

``

2123

`+

df.take([-1, -2])

`

``

2124

`+

name class max_speed

`

``

2125

`+

1 monkey mammal NaN

`

``

2126

`+

3 lion mammal 80.5

`

2074

2127

``

2075

2128

` Returns

`

2076

2129

` -------

`

2077

2130

` taken : type of caller

`

``

2131

`+

An array-like containing the elements taken from the object.

`

``

2132

+

``

2133

`+

See Also

`

``

2134

`+


`

``

2135

`+

numpy.ndarray.take

`

``

2136

`+

numpy.take

`

2078

2137

` """

`

2079

2138

`nv.validate_take(tuple(), kwargs)

`

2080

2139

`self._consolidate_inplace()

`

`@@ -2978,14 +3037,36 @@ def filter(self, items=None, like=None, regex=None, axis=None):

`

2978

3037

``

2979

3038

`def head(self, n=5):

`

2980

3039

`"""

`

2981

``

`-

Returns first n rows

`

``

3040

`+

Return the first n rows.

`

``

3041

+

``

3042

`+

Parameters

`

``

3043

`+


`

``

3044

`+

n : int, default 5

`

``

3045

`+

Number of rows to select.

`

``

3046

+

``

3047

`+

Returns

`

``

3048

`+


`

``

3049

`+

obj_head : type of caller

`

``

3050

`+

The first n rows of the caller object.

`

2982

3051

` """

`

``

3052

+

2983

3053

`return self.iloc[:n]

`

2984

3054

``

2985

3055

`def tail(self, n=5):

`

2986

3056

`"""

`

2987

``

`-

Returns last n rows

`

``

3057

`+

Return the last n rows.

`

``

3058

+

``

3059

`+

Parameters

`

``

3060

`+


`

``

3061

`+

n : int, default 5

`

``

3062

`+

Number of rows to select.

`

``

3063

+

``

3064

`+

Returns

`

``

3065

`+


`

``

3066

`+

obj_tail : type of caller

`

``

3067

`+

The last n rows of the caller object.

`

2988

3068

` """

`

``

3069

+

2989

3070

`if n == 0:

`

2990

3071

`return self.iloc[0:0]

`

2991

3072

`return self.iloc[-n:]

`