title: Broadcasting multiplication of two pandas DataFrames
body: <p>I have two DataFrames, for example:</p>
  
  <pre><code>df1 = pn.DataFrame(np.arange(6).reshape(3, 2), columns=['A1', 'B1'])
  df2 = pn.DataFrame(np.arange(1,7).reshape(3, 2), columns=['A2', 'B2'])
  
    A1 B1
  0  0  1
  1  2  3
  2  4  5
  
    A2 B2
  0  1  2
  1  3  4
  2  5  6
  </code></pre>
  
  <p>I need multiply df1 and df2 by columns to get a DataFrame with following result:</p>
  
  <pre><code>  A1*A2  A1*B2  B1*A2  B1*B2
  0     0      0      1      2
  1     6      8      9     12
  2    20     24     25     30
  </code></pre>
  
  <p>Sizes of df1 and df2 in real task are (1000 columns x 90 000 rows).</p>
  
  <p>I don't want to use double "for" cycle across columns of these DataFrames.</p>
  
  <p>Is there a built-in function or some easy way to calculate it?</p>