text: Title: [DOC] Adding minimal working examples to docstrings; a checklist
  Body: ## Background
  
  This thread is borne out of the discussion from #968 , in an effort to make documentation more beginner-friendly & more understandable.
  One of the subtasks mentioned in that thread was to go through the function docstrings and include a *minimal* working example to each of the public functions in pyjanitor.
  
  Criteria reiterated here for the benefit of discussion:
  
  >     It should fit with our existing choice to go with mkdocs, mkdocstrings, and mknotebooks.
  >     The examples should be minimal and executable and complete execution within 5 seconds per function.
  >     The examples should display in rich HTML on our docs page.
  >     We should have an automatic way of identifying whether a function has an example provided or not so that every function has an example.
  
  Sample of what MWE should look like is shown [here](https://github.com/pyjanitor-devs/pyjanitor/issues/968#issuecomment-1003672331).
  
  ---
  
  I'm thinking we can create a task list so that 1. we can encourage more users to join in the effort, and 2. make sure we don't do duplicate work. A lot of the groundwork can be covered by selectively copying one or two examples over from the software test suite.
  
  Then we can label this issue as a Help Wanted / Low-Hanging Fruit and get people to mention in this thread if they're intending to work on the files?
  
  ### Task list
  
  - [X] functions/add_columns.py
  - [x] functions/also.py
  - [x] functions/bin_numeric.py
  - [x] functions/case_when.py
  - [x] functions/change_type.py
  - [x] functions/clean_names.py
  - [x] functions/coalesce.py
  - [x] functions/collapse_levels.py
  - [x] functions/complete.py
  - [x] functions/concatenate_columns.py
  - [x] functions/conditional_join.py
  - [x] functions/convert_date.py
  - [x] functions/count_cumulative_unique.py
  - [x] functions/currency_column_to_numeric.py
  - [x] functions/deconcatenate_column.py
  - [x] functions/drop_constant_columns.py
  - [x] functions/drop_duplicate_columns.py
  - [x] functions/dropnotnull.py
  - [x] functions/encode_categorical.py
  - [x] functions/expand_column.py
  - [x] functions/expand_grid.py
  - [x] functions/factorize_columns.py
  - [x] functions/fill.py
  - [x] functions/filter.py
  - [x] functions/find_replace.py
  - [x] functions/flag_nulls.py
  - [x] functions/get_dupes.py
  - [x] functions/groupby_agg.py
  - [x] functions/groupby_topk.py
  - [x] functions/impute.py
  - [x] functions/jitter.py
  - [x] functions/join_apply.py
  - [x] functions/label_encode.py
  - [x] functions/limit_column_characters.py
  - [x] functions/min_max_scale.py
  - [x] functions/move.py
  - [x] functions/pivot.py
  - [x] functions/process_text.py
  - [x] functions/remove_columns.py
  - [x] functions/remove_empty.py
  - [x] functions/rename_columns.py
  - [x] functions/reorder_columns.py
  - [x] functions/round_to_fraction.py
  - [x] functions/row_to_names.py
  - [x] functions/select_columns.py
  - [x] functions/shuffle.py
  - [x] functions/sort_column_value_order.py
  - [x] functions/sort_naturally.py
  - [x] functions/take_first.py
  - [x] functions/then.py
  - [x] functions/to_datetime.py
  - [x] functions/toset.py
  - [x] functions/transform_columns.py
  - [x] functions/truncate_datetime.py
  - [x] functions/update_where.py
  - [ ] spark/backend.py
  - [ ] spark/functions.py
  - [x] xarray/functions.py
  - [x] biology.py
  - [x] chemistry.py
  - [x] engineering.py
  - [ ] errors.py
  - [x] finance.py
  - [x] io.py
  - [x] math.py
  - [x] ml.py
  - [x] timeseries.py
  B