docs: def calculate_lvgd_voltage_current_stats(nw):
      """
      LV Voltage and Current Statistics for an arbitrary network
  
      Note
      ----
      Aggregated Load Areas are excluded.
  
      Parameters
      ----------
      nw: :any:`list` of NetworkDing0
          The MV grid(s) to be studied
  
      Returns
      -------
      pandas.DataFrame
          nodes_df : Dataframe containing voltage, respectively current, statis
          for every critical node, resp. every critical station, in every LV grid
          in nw.
      pandas.DataFrame
          lines_df : Dataframe containing current statistics for every critical
          line,  in every LV grid in nw.
      """
      ##############################
      # close circuit breakers
      nw.control_circuit_breakers(mode='close')
      ##############################
      nodes_idx = 0
      nodes_dict = {}
      branches_idx = 0
      branches_dict = {}
      for mv_district in nw.mv_grid_districts():
          for LA in mv_district.lv_load_areas():
              if not LA.is_aggregated:
                  for lv_district in LA.lv_grid_districts():
                      # nodes voltage
                      crit_nodes = get_critical_voltage_at_nodes(lv_district.lv_grid)
                      for node in crit_nodes:
                          nodes_idx += 1
                          nodes_dict[nodes_idx] = {
                              'MV_grid_id': mv_district.mv_grid.id_db,
                              'LV_grid_id': lv_district.lv_grid.id_db,
                              'LA_id': LA.id_db,
                              'node id': node['node'].__repr__(),
                              'v_diff_0': node['v_diff'][0],
                              'v_diff_1': node['v_diff'][1],
                              's_max_0': 'NA',
                              's_max_1': 'NA',
                              'V nominal': lv_district.lv_grid.v_level,
                          }
                      # branches currents
                      critical_branches, critical_stations = get_critical_line_loading(lv_district.lv_grid)
                      for branch in critical_branches:
                          branches_idx += 1
                          branches_dict[branches_idx] = {
                              'MV_grid_id': mv_district.mv_grid.id_db,
                              'LV_grid_id': lv_district.lv_grid.id_db,
                              'LA_id': LA.id_db,
                              'branch id': branch['branch'].__repr__(),
                              's_max_0': branch['s_max'][0],
                              's_max_1': branch['s_max'][1],
                          }
                      # stations
                      for node in critical_stations:
                          nodes_idx += 1
                          nodes_dict[nodes_idx] = {
                              'MV_grid_id': mv_district.mv_grid.id_db,
                              'LV_grid_id': lv_district.lv_grid.id_db,
                              'LA_id': LA.id_db,
                              'node id': node['station'].__repr__(),
                              's_max_0': node['s_max'][0],
                              's_max_1': node['s_max'][1],
                              'v_diff_0': 'NA',
                              'v_diff_1': 'NA',
                          }
      nodes_df = pd.DataFrame.from_dict(nodes_dict, orient='index')
      branches_df = pd.DataFrame.from_dict(branches_dict, orient='index')
  
      if not nodes_df.empty:
          nodes_df = nodes_df.set_index('node id')
          nodes_df = nodes_df.fillna(0)
          nodes_df = nodes_df[sorted(nodes_df.columns.tolist())]
          nodes_df.sort_index(inplace=True)
  
      if not branches_df.empty:
          branches_df = branches_df.set_index('branch id')
          branches_df = branches_df.fillna(0)
          branches_df = branches_df[sorted(branches_df.columns.tolist())]
          branches_df.sort_index(inplace=True)
  
      return nodes_df, branches_df