Source code for lamp.utils

import time


# ------------------------------------------------------------------------
# wl-29-12-2023, Fri: convert 2-columns data frame to dict
[docs] def df2dict(df): """ Convert 2-columns DataFrame to dict. Parameters ---------- df : DataFrame a two columns data frame. Returns ------- dict a dict. Notes ----- This function is used to speedy query. """ res = zip(df.iloc[:, 0], df.iloc[:, 1]) res = list(res) res = dict(res) return res
# ------------------------------------------------------------------------- # wl-18-05-2024, Sat: flat column names. # use 'pipe' inside a chain
[docs] def flatten_cols(df): """ Flat column names. Parameters ---------- df : DataFrame a data frame. Returns ------- DataFrame a data frame with flattened column names. """ df.columns = ["_".join(x) for x in df.columns.to_flat_index()] return df
# ------------------------------------------------------------------------- # wl-27-12-2023, Wed: Remove empty cell and flatten list
[docs] def flatten_list(list): """ Remove empty cell and flatten list. Parameters ---------- list : list a nested list with empty elements. Returns ------- list a flattened list. """ # remove empty item list = [x for x in list if x] # flatten list res = [item for lt in list for item in lt] return res
# ------------------------------------------------------------------------- # wl-02-08-2022, Tue: Measure running time. # Matlab's tic and toc time measuring. From https://bit.ly/3SuXktQ def _tic(): """ Matlab's tic and toc time measuring. """ global startTime_for_tictoc startTime_for_tictoc = time.time() # ------------------------------------------------------------------------- def _toc(): """ Matlab's tic and toc time measuring. """ if 'startTime_for_tictoc' in globals(): elap_time = time.time() - startTime_for_tictoc print("Elapsed time: " + str(elap_time) + " seconds.") else: print("Toc: start time not set")