title: Pandas multiply DataFrames with element-wise match of index and column
body: <p>I have two pandas DataFrames, with one of them having index and columns that are subsets of the other. For example:</p>
  
  <p><code>DF1 =</code></p>
  
  <pre><code>date        a     b    c
  20170101    1.0   2.2  3
  20170102    2.1   5.2  -3.0
  20170103    4.2   1.8  10.0
  ...
  20170331    9.8   5.1  4.5
  </code></pre>
  
  <p><code>DF2 =</code></p>
  
  <pre><code>date        a     c
  20170101    NaN   2.1
  20170103    4     NaN
  </code></pre>
  
  <p>What I want is element-wise multiplication by matching both the index and column. i.e. only <code>DF1[20170103]['c']</code> will be multiplied with <code>DF2[20170103]['c']</code>, etc. </p>
  
  <p>The resulting DF should have the same dimension as the bigger one (<code>DF1</code>), with missing values in <code>DF2</code> set as the original <code>DF1</code> value:</p>
  
  <p><code>result DF =</code></p>
  
  <pre><code>date        a     b    c
  20170101    1.0   2.2  6.3
  20170102    2.1   5.2  -3.0
  20170103    16.8  1.8  10.0
  ...
  20170331    9.8   5.1  4.5
  </code></pre>
  
  <p>What's the best/fastest way to do this? The real-life matrices are huge, and DF2 is relatively sparse.</p>