title: Concat dataframes using rows from second dataframe which don't exist in first dataframe based on subset of columns
body: <p>I have 2 large dataframes as follows:</p>
  <p>df1</p>
  <pre><code>C1  C2  C3  V1
  a   e   k   1
  b   f   j   2
  d   g   h   3    
  </code></pre>
  <p>df2</p>
  <pre><code>C1  C2  C3  V1
  a   e   m   21
  d   g   p   1
  e   f   q   2
  f   g   r   3
  </code></pre>
  <p>I want to get the following:</p>
  <pre><code>C1  C2  C3  V1
  a   e   k   1
  b   f   j   2
  d   g   h   3
  e   f   q   2
  f   g   r   3
  </code></pre>
  <p>Where I have only included rows from <code>df2</code> where C1 and C2 are not present in <code>df1</code>. i.e. I dropped first row of <code>df2</code> as <code>a, e</code> was already present in <code>df1</code>.</p>
  <p>I am trying:</p>
  <pre><code>df1['id'] = df1[['C1', 'C2']].astype(str).apply('_'.join, axis=1)
  df2['id'] = df2[['C1', 'C2']].astype(str).apply('_'.join, axis=1)
  df3 = df2[~df2['id'].isin(df1['id'])]
  pd.concat([df1, df3])
  </code></pre>
  <p>Is there a better way to do this using some inbuilt function as I run into this kind of situation a lot with varying number of columns.</p>