@@ -343,50 +343,93 @@ def _get_op_name(op, special):
343343# -----------------------------------------------------------------------------
344344# Docstring Generation and Templates
345345
346+ _add_example_FRAME = """
347+ >>> a = pd.DataFrame([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'],
348+ columns=['one'])
349+ >>> a
350+ one
351+ a 1.0
352+ b 1.0
353+ c 1.0
354+ d NaN
355+ >>> b = pd.DataFrame(dict(one=[1, np.nan, 1, np.nan],
356+ two=[np.nan, 2, np.nan, 2]),
357+ index=['a', 'b', 'd', 'e'])
358+ >>> b
359+ one two
360+ a 1.0 NaN
361+ b NaN 2.0
362+ d 1.0 NaN
363+ e NaN 2.0
364+ >>> a.add(b, fill_value=0)
365+ one two
366+ a 2.0 NaN
367+ b 1.0 2.0
368+ c 1.0 NaN
369+ d 1.0 NaN
370+ e NaN 2.0
371+ """
372+
346373_op_descriptions = {
374+ # Arithmetic Operators
347375 'add' : {'op' : '+' ,
348376 'desc' : 'Addition' ,
349- 'reverse' : 'radd' },
377+ 'reverse' : 'radd' ,
378+ 'df_examples' : _add_example_FRAME },
350379 'sub' : {'op' : '-' ,
351380 'desc' : 'Subtraction' ,
352- 'reverse' : 'rsub' },
381+ 'reverse' : 'rsub' ,
382+ 'df_examples' : None },
353383 'mul' : {'op' : '*' ,
354384 'desc' : 'Multiplication' ,
355- 'reverse' : 'rmul' },
385+ 'reverse' : 'rmul' ,
386+ 'df_examples' : None },
356387 'mod' : {'op' : '%' ,
357388 'desc' : 'Modulo' ,
358- 'reverse' : 'rmod' },
389+ 'reverse' : 'rmod' ,
390+ 'df_examples' : None },
359391 'pow' : {'op' : '**' ,
360392 'desc' : 'Exponential power' ,
361- 'reverse' : 'rpow' },
393+ 'reverse' : 'rpow' ,
394+ 'df_examples' : None },
362395 'truediv' : {'op' : '/' ,
363396 'desc' : 'Floating division' ,
364- 'reverse' : 'rtruediv' },
397+ 'reverse' : 'rtruediv' ,
398+ 'df_examples' : None },
365399 'floordiv' : {'op' : '//' ,
366400 'desc' : 'Integer division' ,
367- 'reverse' : 'rfloordiv' },
401+ 'reverse' : 'rfloordiv' ,
402+ 'df_examples' : None },
368403 'divmod' : {'op' : 'divmod' ,
369404 'desc' : 'Integer division and modulo' ,
370- 'reverse' : None },
405+ 'reverse' : None ,
406+ 'df_examples' : None },
371407
408+ # Comparison Operators
372409 'eq' : {'op' : '==' ,
373- 'desc' : 'Equal to' ,
374- 'reverse' : None },
410+ 'desc' : 'Equal to' ,
411+ 'reverse' : None ,
412+ 'df_examples' : None },
375413 'ne' : {'op' : '!=' ,
376- 'desc' : 'Not equal to' ,
377- 'reverse' : None },
414+ 'desc' : 'Not equal to' ,
415+ 'reverse' : None ,
416+ 'df_examples' : None },
378417 'lt' : {'op' : '<' ,
379- 'desc' : 'Less than' ,
380- 'reverse' : None },
418+ 'desc' : 'Less than' ,
419+ 'reverse' : None ,
420+ 'df_examples' : None },
381421 'le' : {'op' : '<=' ,
382- 'desc' : 'Less than or equal to' ,
383- 'reverse' : None },
422+ 'desc' : 'Less than or equal to' ,
423+ 'reverse' : None ,
424+ 'df_examples' : None },
384425 'gt' : {'op' : '>' ,
385- 'desc' : 'Greater than' ,
386- 'reverse' : None },
426+ 'desc' : 'Greater than' ,
427+ 'reverse' : None ,
428+ 'df_examples' : None },
387429 'ge' : {'op' : '>=' ,
388- 'desc' : 'Greater than or equal to' ,
389- 'reverse' : None }}
430+ 'desc' : 'Greater than or equal to' ,
431+ 'reverse' : None ,
432+ 'df_examples' : None }}
390433
391434_op_names = list (_op_descriptions .keys ())
392435for key in _op_names :
@@ -532,30 +575,7 @@ def _get_op_name(op, special):
532575
533576Examples
534577--------
535- >>> a = pd.DataFrame([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'],
536- columns=['one'])
537- >>> a
538- one
539- a 1.0
540- b 1.0
541- c 1.0
542- d NaN
543- >>> b = pd.DataFrame(dict(one=[1, np.nan, 1, np.nan],
544- two=[np.nan, 2, np.nan, 2]),
545- index=['a', 'b', 'd', 'e'])
546- >>> b
547- one two
548- a 1.0 NaN
549- b NaN 2.0
550- d 1.0 NaN
551- e NaN 2.0
552- >>> a.add(b, fill_value=0)
553- one two
554- a 2.0 NaN
555- b 1.0 2.0
556- c 1.0 NaN
557- d 1.0 NaN
558- e NaN 2.0
578+ {df_examples}
559579
560580See also
561581--------
@@ -622,14 +642,19 @@ def _make_flex_doc(op_name, typ):
622642
623643 if typ == 'series' :
624644 base_doc = _flex_doc_SERIES
645+ doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
646+ equiv = equiv , reverse = op_desc ['reverse' ])
625647 elif typ == 'dataframe' :
626648 base_doc = _flex_doc_FRAME
649+ doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
650+ equiv = equiv , reverse = op_desc ['reverse' ],
651+ df_examples = op_desc ['df_examples' ])
627652 elif typ == 'panel' :
628653 base_doc = _flex_doc_PANEL
654+ doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
655+ equiv = equiv , reverse = op_desc ['reverse' ])
629656 else :
630657 raise AssertionError ('Invalid typ argument.' )
631- doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
632- equiv = equiv , reverse = op_desc ['reverse' ])
633658 return doc
634659
635660
0 commit comments