title: Why does Pandas inner join give ValueError: len(left_on) must equal the number of levels in the index of "right"?
body: <p>I'm trying to inner join DataFrame A to DataFrame B and am running into an error.</p>
  
  <p>Here's my join statement:</p>
  
  <pre><code>merged = DataFrameA.join(DataFrameB, on=['Code','Date'])
  </code></pre>
  
  <p>And here's the error:</p>
  
  <pre><code>ValueError: len(left_on) must equal the number of levels in the index of "right"
  </code></pre>
  
  <p>I'm not sure the column order matters (they aren't truly "ordered" are they?), but just in case, the DataFrames are organized like this:</p>
  
  <pre><code>DataFrameA:  Code, Date, ColA, ColB, ColC, ..., ColG, ColH (shape: 80514, 8 - no index)
  DataFrameB:  Date, Code, Col1, Col2, Col3, ..., Col15, Col16 (shape: 859, 16 - no index)
  </code></pre>
  
  <p>Do I need to correct my join statement?  Or is there another, better way to get the intersection (or inner join) of these two DataFrames?</p>