docs: def df_drop_duplicates(df, ignore_key_pattern="time"):
      """
      Drop duplicates from dataframe ignore columns with keys containing defined pattern.
  
      :param df:
      :param noinfo_key_pattern:
      :return:
      """
  
      keys_to_remove = list_contains(df.keys(), ignore_key_pattern)
      #key_tf = [key.find(noinfo_key_pattern) != -1 for key in df.keys()]
      # keys_to_remove
      # remove duplicates
      ks = copy.copy(list(df.keys()))
      for key in keys_to_remove:
          ks.remove(key)
  
      df = df.drop_duplicates(ks)
      return df