title: multiply 2 columns in 2 dfs if they match the column name
body: <p>I have 2 dfs with some similar colnames.</p>
  <p>I tried this, it worked only when I have nonrepetitive colnames in national df.</p>
  <pre><code>out = {}
  
  for col in national.columns:
      for col2 in F.columns: 
          if col == col2:
              out[col] = national[col].values * F[col2].values
  </code></pre>
  <p>I tried to use the same code on df where it has several names, but I got the following error 'shapes (26,33) and (1,26) not aligned: 33 (dim 1) != 1 (dim 0)'. Because in the second df it has 33 columns with the same name, and that needs to be multiplied elementwise with one column for the first df.</p>
  <p>This code does not work, as there are repeated same colnames in urban.columns.</p>
  <pre><code>[np.matrix(urban[col].values) * np.matrix(F[col2].values) for col in urban.columns for col2 in F.columns if col == col2]
  </code></pre>
  <p>Reproducivle code</p>
  <pre><code>df1 = pd.DataFrame({ 
      'Col1': [1, 2, 1, 2, 3], 
      'Col2': [2, 4, 2, 4, 6],
      'Col2': [7, 4, 2, 8, 6]})
  
  df2 = pd.DataFrame({
      'Col1': [1.5, 2.0, 3.0, 5.0, 10.0],
      'Col2': [1, 0.0, 4.0, 5.0, 7.0})
  
  </code></pre>