title: New column based on matching values from another dataframe pandas
body: <p>If we have two dataframes such as <code>df1</code> and <code>df2</code> in the example shown below; how do we merge them to generate <code>df3</code>?</p>
  
  <pre><code>import pandas as pd
  import numpy as np
  
  data1 = [("a1",["A","B"]),("a2",["A","B","C"]),("a3",["B","C"])]
  df1 = pd.DataFrame(data1,columns = ["column1","column2"])
  print df1
  
  data2 = [("A",["1","2"]),("B",["1","3","4"]),("C",["5"])]
  df2 = pd.DataFrame(data2,columns=["column3","column4"])
  print df2
  
  data3 = [("a1",["A","B"],["1","2","3","4"]),("a2",["A","B","C"], 
  ["1","2","3","4","5"]),("a3",["B","C"],["1","3","4","5"])]
  df3 = pd.DataFrame(data3,columns = ["column1","column2","column5"])
  print df3
  </code></pre>
  
  <p>I am aiming not to use for loops since I am dealing with big datasets</p>