title: how to change suffix on new df column of df when merging iteratively
body: <p>I have a <code>temp</code> df  and a a <code>dflst</code>.
  the <code>temp</code> has as columns the unique col names from a dataframes in a <code>dflst</code> .
  The <code>dflst</code> has a dynamic len, my problem arrises when <code>len(dflst)&gt;=4</code>.
  aLL DFs (temp and all the ones in dflst) have columns with true/false values and a p column with numbers</p>
  <p>code to recreate data:</p>
  <pre><code>#making temp df
  var_cols=['a', 'b', 'c', 'd']
  temp = pd.DataFrame(list(itertools.product([False, True], repeat=len(var_cols))), columns=var_cols)
  
  #makinf dflst
  df0=pd.DataFrame(list(itertools.product([False, True], repeat=len(['a', 'b']))), columns=['a', 'b'])
  df0['p']= np.random.randint(1, 5, df0.shape[0])
  df1=pd.DataFrame(list(itertools.product([False, True], repeat=len(['c', 'd']))), columns=['c', 'd'])
  df1['p']= np.random.randint(1, 5, df1.shape[0])
  df2=pd.DataFrame(list(itertools.product([False, True], repeat=len(['a', 'c', ]))), columns=['a', 'c'])
  df2['p']= np.random.randint(1, 5, df2.shape[0])
  df3=pd.DataFrame(list(itertools.product([False, True], repeat=len(['d']))), columns=['d'])
  df3['p']= np.random.randint(1, 5, df3.shape[0])
  dflst=[df0, df1, df2, df3]
  </code></pre>
  <p>I want to merge the dfs in dflst, so that the 'p'col values from dfs in dflst into temp df, in the rows with compatible values between the two .</p>
  <p>I am currently doing it with pd.merge as follows:</p>
  <pre><code>for df in dflst:
      temp = temp.merge(df, on=list(df)[:-1], how='right')
  </code></pre>
  <p>but this results to a df that has same names for different columns, when <code>dflst</code> has 4 or more dfs.. I understand that that is due to <code>suffix</code> of merge. but it creates problems with column indexing.</p>
  <p>How can I have unique names on the new columns added to <code>temp</code> iteratively?</p>