Skip to content

Commit e81f3cc

Browse files
VincentLaTomAugspurger
authored andcommitted
DOC: Adding docstring examples (#16437)
* Adding examples to fillna * putting better spacing * removing unnecessary values variable * Adding an example for method ffill * adding examples for drop method * Adding examples for sort_values * Fixing linter error moving fillna to generic and fixing a typo
1 parent e41fe7f commit e81f3cc

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed

pandas/core/generic.py

+143
Original file line numberDiff line numberDiff line change
@@ -2056,6 +2056,37 @@ def drop(self, labels, axis=0, level=None, inplace=False, errors='raise'):
20562056
Returns
20572057
-------
20582058
dropped : type of caller
2059+
2060+
Examples
2061+
--------
2062+
>>> df = pd.DataFrame([[1, 2, 3, 4],
2063+
... [5, 6, 7, 8],
2064+
... [9, 1, 2, 3],
2065+
... [4, 5, 6, 7]
2066+
... ],
2067+
... columns=list('ABCD'))
2068+
>>> df
2069+
A B C D
2070+
0 1 2 3 4
2071+
1 5 6 7 8
2072+
2 9 1 2 3
2073+
3 4 5 6 7
2074+
2075+
Drop a row by index
2076+
2077+
>>> df.drop([0, 1])
2078+
A B C D
2079+
2 9 1 2 3
2080+
3 4 5 6 7
2081+
2082+
Drop columns
2083+
2084+
>>> df.drop(['A', 'B'], axis=1)
2085+
C D
2086+
0 3 4
2087+
1 7 8
2088+
2 2 3
2089+
3 6 7
20592090
"""
20602091
inplace = validate_bool_kwarg(inplace, 'inplace')
20612092
axis = self._get_axis_number(axis)
@@ -2169,6 +2200,66 @@ def add_suffix(self, suffix):
21692200
Returns
21702201
-------
21712202
sorted_obj : %(klass)s
2203+
2204+
Examples
2205+
--------
2206+
>>> df = pd.DataFrame({
2207+
... 'col1' : ['A', 'A', 'B', np.nan, 'D', 'C'],
2208+
... 'col2' : [2, 1, 9, 8, 7, 4],
2209+
... 'col3': [0, 1, 9, 4, 2, 3],
2210+
... })
2211+
>>> df
2212+
col1 col2 col3
2213+
0 A 2 0
2214+
1 A 1 1
2215+
2 B 9 9
2216+
3 NaN 8 4
2217+
4 D 7 2
2218+
5 C 4 3
2219+
2220+
Sort by col1
2221+
2222+
>>> df.sort_values(by=['col1'])
2223+
col1 col2 col3
2224+
0 A 2 0
2225+
1 A 1 1
2226+
2 B 9 9
2227+
5 C 4 3
2228+
4 D 7 2
2229+
3 NaN 8 4
2230+
2231+
Sort by multiple columns
2232+
2233+
>>> df.sort_values(by=['col1', 'col2'])
2234+
col1 col2 col3
2235+
1 A 1 1
2236+
0 A 2 0
2237+
2 B 9 9
2238+
5 C 4 3
2239+
4 D 7 2
2240+
3 NaN 8 4
2241+
2242+
Sort Descending
2243+
2244+
>>> df.sort_values(by='col1', ascending=False)
2245+
col1 col2 col3
2246+
4 D 7 2
2247+
5 C 4 3
2248+
2 B 9 9
2249+
0 A 2 0
2250+
1 A 1 1
2251+
3 NaN 8 4
2252+
2253+
Putting NAs first
2254+
2255+
>>> df.sort_values(by='col1', ascending=False, na_position='first')
2256+
col1 col2 col3
2257+
3 NaN 8 4
2258+
4 D 7 2
2259+
5 C 4 3
2260+
2 B 9 9
2261+
0 A 2 0
2262+
1 A 1 1
21722263
"""
21732264

21742265
def sort_values(self, by, axis=0, ascending=True, inplace=False,
@@ -3469,6 +3560,58 @@ def convert_objects(self, convert_dates=True, convert_numeric=False,
34693560
Returns
34703561
-------
34713562
filled : %(klass)s
3563+
3564+
Examples
3565+
--------
3566+
>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
3567+
... [3, 4, np.nan, 1],
3568+
... [np.nan, np.nan, np.nan, 5],
3569+
... [np.nan, 3, np.nan, 4]],
3570+
... columns=list('ABCD'))
3571+
>>> df
3572+
A B C D
3573+
0 NaN 2.0 NaN 0
3574+
1 3.0 4.0 NaN 1
3575+
2 NaN NaN NaN 5
3576+
3 NaN 3.0 NaN 4
3577+
3578+
Replace all NaN elements with 0s.
3579+
3580+
>>> df.fillna(0)
3581+
A B C D
3582+
0 0.0 2.0 0.0 0
3583+
1 3.0 4.0 0.0 1
3584+
2 0.0 0.0 0.0 5
3585+
3 0.0 3.0 0.0 4
3586+
3587+
We can also propagate non-null values forward or backward.
3588+
3589+
>>> df.fillna(method='ffill')
3590+
A B C D
3591+
0 NaN 2.0 NaN 0
3592+
1 3.0 4.0 NaN 1
3593+
2 3.0 4.0 NaN 5
3594+
3 3.0 3.0 NaN 4
3595+
3596+
Replace all NaN elements in column 'A', 'B', 'C', and 'D', with 0, 1,
3597+
2, and 3 respectively.
3598+
3599+
>>> values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
3600+
>>> df.fillna(value=values)
3601+
A B C D
3602+
0 0.0 2.0 2.0 0
3603+
1 3.0 4.0 2.0 1
3604+
2 0.0 1.0 2.0 5
3605+
3 0.0 3.0 2.0 4
3606+
3607+
Only replace the first NaN element.
3608+
3609+
>>> df.fillna(value=values, limit=1)
3610+
A B C D
3611+
0 0.0 2.0 2.0 0
3612+
1 3.0 4.0 NaN 1
3613+
2 NaN 1.0 NaN 5
3614+
3 NaN 3.0 NaN 4
34723615
""")
34733616

34743617
@Appender(_shared_docs['fillna'] % _shared_doc_kwargs)

0 commit comments

Comments
 (0)