@@ -384,57 +384,175 @@ def _get_op_name(op, special):
384
384
# -----------------------------------------------------------------------------
385
385
# Docstring Generation and Templates
386
386
387
+ _add_example_SERIES = """
388
+ Examples
389
+ --------
390
+ >>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
391
+ >>> a
392
+ a 1.0
393
+ b 1.0
394
+ c 1.0
395
+ d NaN
396
+ dtype: float64
397
+ >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
398
+ >>> b
399
+ a 1.0
400
+ b NaN
401
+ d 1.0
402
+ e NaN
403
+ dtype: float64
404
+ >>> a.add(b, fill_value=0)
405
+ a 2.0
406
+ b 1.0
407
+ c 1.0
408
+ d 1.0
409
+ e NaN
410
+ dtype: float64
411
+ """
412
+
413
+ _sub_example_SERIES = """
414
+ Examples
415
+ --------
416
+ >>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
417
+ >>> a
418
+ a 1.0
419
+ b 1.0
420
+ c 1.0
421
+ d NaN
422
+ dtype: float64
423
+ >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
424
+ >>> b
425
+ a 1.0
426
+ b NaN
427
+ d 1.0
428
+ e NaN
429
+ dtype: float64
430
+ >>> a.subtract(b, fill_value=0)
431
+ a 0.0
432
+ b 1.0
433
+ c 1.0
434
+ d -1.0
435
+ e NaN
436
+ dtype: float64
437
+ """
438
+
439
+ _mul_example_SERIES = """
440
+ Examples
441
+ --------
442
+ >>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
443
+ >>> a
444
+ a 1.0
445
+ b 1.0
446
+ c 1.0
447
+ d NaN
448
+ dtype: float64
449
+ >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
450
+ >>> b
451
+ a 1.0
452
+ b NaN
453
+ d 1.0
454
+ e NaN
455
+ dtype: float64
456
+ >>> a.multiply(b)
457
+ a 1.0
458
+ b NaN
459
+ c NaN
460
+ d NaN
461
+ e NaN
462
+ dtype: float64
463
+ """
464
+
465
+ _div_example_SERIES = """
466
+ Examples
467
+ --------
468
+ >>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
469
+ >>> a
470
+ a 1.0
471
+ b 1.0
472
+ c 1.0
473
+ d NaN
474
+ dtype: float64
475
+ >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
476
+ >>> b
477
+ a 1.0
478
+ b NaN
479
+ d 1.0
480
+ e NaN
481
+ dtype: float64
482
+ >>> a.divide(b, fill_value=0)
483
+ a 1.0
484
+ b inf
485
+ c inf
486
+ d 0.0
487
+ e NaN
488
+ dtype: float64
489
+ """
490
+
387
491
_op_descriptions = {
388
492
# Arithmetic Operators
389
493
'add' : {'op' : '+' ,
390
494
'desc' : 'Addition' ,
391
- 'reverse' : 'radd' },
495
+ 'reverse' : 'radd' ,
496
+ 'series_examples' : _add_example_SERIES },
392
497
'sub' : {'op' : '-' ,
393
498
'desc' : 'Subtraction' ,
394
- 'reverse' : 'rsub' },
499
+ 'reverse' : 'rsub' ,
500
+ 'series_examples' : _sub_example_SERIES },
395
501
'mul' : {'op' : '*' ,
396
502
'desc' : 'Multiplication' ,
397
503
'reverse' : 'rmul' ,
504
+ 'series_examples' : _mul_example_SERIES ,
398
505
'df_examples' : None },
399
506
'mod' : {'op' : '%' ,
400
507
'desc' : 'Modulo' ,
401
- 'reverse' : 'rmod' },
508
+ 'reverse' : 'rmod' ,
509
+ 'series_examples' : None },
402
510
'pow' : {'op' : '**' ,
403
511
'desc' : 'Exponential power' ,
404
512
'reverse' : 'rpow' ,
513
+ 'series_examples' : None ,
405
514
'df_examples' : None },
406
515
'truediv' : {'op' : '/' ,
407
516
'desc' : 'Floating division' ,
408
517
'reverse' : 'rtruediv' ,
518
+ 'series_examples' : _div_example_SERIES ,
409
519
'df_examples' : None },
410
520
'floordiv' : {'op' : '//' ,
411
521
'desc' : 'Integer division' ,
412
522
'reverse' : 'rfloordiv' ,
523
+ 'series_examples' : None ,
413
524
'df_examples' : None },
414
525
'divmod' : {'op' : 'divmod' ,
415
526
'desc' : 'Integer division and modulo' ,
416
527
'reverse' : 'rdivmod' ,
528
+ 'series_examples' : None ,
417
529
'df_examples' : None },
418
530
419
531
# Comparison Operators
420
532
'eq' : {'op' : '==' ,
421
533
'desc' : 'Equal to' ,
422
- 'reverse' : None },
534
+ 'reverse' : None ,
535
+ 'series_examples' : None },
423
536
'ne' : {'op' : '!=' ,
424
537
'desc' : 'Not equal to' ,
425
- 'reverse' : None },
538
+ 'reverse' : None ,
539
+ 'series_examples' : None },
426
540
'lt' : {'op' : '<' ,
427
541
'desc' : 'Less than' ,
428
- 'reverse' : None },
542
+ 'reverse' : None ,
543
+ 'series_examples' : None },
429
544
'le' : {'op' : '<=' ,
430
545
'desc' : 'Less than or equal to' ,
431
- 'reverse' : None },
546
+ 'reverse' : None ,
547
+ 'series_examples' : None },
432
548
'gt' : {'op' : '>' ,
433
549
'desc' : 'Greater than' ,
434
- 'reverse' : None },
550
+ 'reverse' : None ,
551
+ 'series_examples' : None },
435
552
'ge' : {'op' : '>=' ,
436
553
'desc' : 'Greater than or equal to' ,
437
- 'reverse' : None }
554
+ 'reverse' : None ,
555
+ 'series_examples' : None }
438
556
}
439
557
440
558
_op_names = list (_op_descriptions .keys ())
@@ -473,50 +591,7 @@ def _get_op_name(op, special):
473
591
--------
474
592
Series.{reverse}
475
593
476
- Examples
477
- --------
478
- >>> a = pd.Series([1, 1, 1, np.nan], index=['a', 'b', 'c', 'd'])
479
- >>> a
480
- a 1.0
481
- b 1.0
482
- c 1.0
483
- d NaN
484
- dtype: float64
485
- >>> b = pd.Series([1, np.nan, 1, np.nan], index=['a', 'b', 'd', 'e'])
486
- >>> b
487
- a 1.0
488
- b NaN
489
- d 1.0
490
- e NaN
491
- dtype: float64
492
- >>> a.add(b, fill_value=0)
493
- a 2.0
494
- b 1.0
495
- c 1.0
496
- d 1.0
497
- e NaN
498
- dtype: float64
499
- >>> a.subtract(b, fill_value=0)
500
- a 0.0
501
- b 1.0
502
- c 1.0
503
- d -1.0
504
- e NaN
505
- dtype: float64
506
- >>> a.multiply(b)
507
- a 1.0
508
- b NaN
509
- c NaN
510
- d NaN
511
- e NaN
512
- dtype: float64
513
- >>> a.divide(b, fill_value=0)
514
- a 1.0
515
- b inf
516
- c inf
517
- d 0.0
518
- e NaN
519
- dtype: float64
594
+ {examples}
520
595
"""
521
596
522
597
_arith_doc_FRAME = """
@@ -907,7 +982,8 @@ def _make_flex_doc(op_name, typ):
907
982
if typ == 'series' :
908
983
base_doc = _flex_doc_SERIES
909
984
doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
910
- equiv = equiv , reverse = op_desc ['reverse' ])
985
+ equiv = equiv , reverse = op_desc ['reverse' ],
986
+ examples = op_desc ['series_examples' ])
911
987
elif typ == 'dataframe' :
912
988
base_doc = _flex_doc_FRAME
913
989
doc = base_doc .format (desc = op_desc ['desc' ], op_name = op_name ,
0 commit comments