code: def _iter_edges(e, dropna):
      """To use as ebunch for networkx.MultiDiGraph.add_edges_from(ebunch)."""
      for col in e:
          et = e[col]
          if dropna:
              et = et.dropna()
          for ind, val in et.items():
              yield (ind[0], ind[1], col, {col: val})
  
file_path: deepgraph/deepgraph/iterators_and_indexers.py
imports: from datetime import datetime
  from itertools import chain
  import numpy
  import pandas
  from deepgraph._triu_indices import _triu_indices, _union_of_indices, _reduce_triu_indices
  from deepgraph.connector_selector_implementations import _ft_connector, _ft_selector
  from deepgraph.connectors_and_selectors import CreatorFunction, Selector, Connector
  from deepgraph.utils import _flatten, _is_array_like, _merge_dicts
label_desc: Use image node_id 11 for calling a global function with example usage: _iter_edges(e, dropna) without return types