@@ -343,50 +343,93 @@ def _get_op_name(op, special):
343
343
# -----------------------------------------------------------------------------
344
344
# Docstring Generation and Templates
345
345
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
+
346
373
_op_descriptions = {
374
+ # Arithmetic Operators
347
375
'add' : {'op' : '+' ,
348
376
'desc' : 'Addition' ,
349
- 'reverse' : 'radd' },
377
+ 'reverse' : 'radd' ,
378
+ 'df_examples' : _add_example_FRAME },
350
379
'sub' : {'op' : '-' ,
351
380
'desc' : 'Subtraction' ,
352
- 'reverse' : 'rsub' },
381
+ 'reverse' : 'rsub' ,
382
+ 'df_examples' : None },
353
383
'mul' : {'op' : '*' ,
354
384
'desc' : 'Multiplication' ,
355
- 'reverse' : 'rmul' },
385
+ 'reverse' : 'rmul' ,
386
+ 'df_examples' : None },
356
387
'mod' : {'op' : '%' ,
357
388
'desc' : 'Modulo' ,
358
- 'reverse' : 'rmod' },
389
+ 'reverse' : 'rmod' ,
390
+ 'df_examples' : None },
359
391
'pow' : {'op' : '**' ,
360
392
'desc' : 'Exponential power' ,
361
- 'reverse' : 'rpow' },
393
+ 'reverse' : 'rpow' ,
394
+ 'df_examples' : None },
362
395
'truediv' : {'op' : '/' ,
363
396
'desc' : 'Floating division' ,
364
- 'reverse' : 'rtruediv' },
397
+ 'reverse' : 'rtruediv' ,
398
+ 'df_examples' : None },
365
399
'floordiv' : {'op' : '//' ,
366
400
'desc' : 'Integer division' ,
367
- 'reverse' : 'rfloordiv' },
401
+ 'reverse' : 'rfloordiv' ,
402
+ 'df_examples' : None },
368
403
'divmod' : {'op' : 'divmod' ,
369
404
'desc' : 'Integer division and modulo' ,
370
- 'reverse' : None },
405
+ 'reverse' : None ,
406
+ 'df_examples' : None },
371
407
408
+ # Comparison Operators
372
409
'eq' : {'op' : '==' ,
373
- 'desc' : 'Equal to' ,
374
- 'reverse' : None },
410
+ 'desc' : 'Equal to' ,
411
+ 'reverse' : None ,
412
+ 'df_examples' : None },
375
413
'ne' : {'op' : '!=' ,
376
- 'desc' : 'Not equal to' ,
377
- 'reverse' : None },
414
+ 'desc' : 'Not equal to' ,
415
+ 'reverse' : None ,
416
+ 'df_examples' : None },
378
417
'lt' : {'op' : '<' ,
379
- 'desc' : 'Less than' ,
380
- 'reverse' : None },
418
+ 'desc' : 'Less than' ,
419
+ 'reverse' : None ,
420
+ 'df_examples' : None },
381
421
'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 },
384
425
'gt' : {'op' : '>' ,
385
- 'desc' : 'Greater than' ,
386
- 'reverse' : None },
426
+ 'desc' : 'Greater than' ,
427
+ 'reverse' : None ,
428
+ 'df_examples' : None },
387
429
'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 }}
390
433
391
434
_op_names = list (_op_descriptions .keys ())
392
435
for key in _op_names :
@@ -532,30 +575,7 @@ def _get_op_name(op, special):
532
575
533
576
Examples
534
577
--------
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}
559
579
560
580
See also
561
581
--------
@@ -622,14 +642,19 @@ def _make_flex_doc(op_name, typ):
622
642
623
643
if typ == 'series' :
624
644
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' ])
625
647
elif typ == 'dataframe' :
626
648
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' ])
627
652
elif typ == 'panel' :
628
653
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' ])
629
656
else :
630
657
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' ])
633
658
return doc
634
659
635
660
0 commit comments