code: def drop_duplicate_cols(df):
      
      names = set(df.columns)
      for n in names:
          if len(df[n].shape) > 1:
              # get subset of df w/ colname n
              sub = df[n]
              # make unique colnames
              sub.columns = ['%s-%s' % (n, x) for x in range(sub.shape[1])]
              # get colname w/ max # of data
              keep = sub.count().idxmax()
              # drop all columns of name n from original df
              del df[n]
              # update original df w/ longest col with name n
              df[n] = sub[keep]
  
      return df
docs: Removes duplicate columns from a dataframe
      and keeps column w/ longest history