title: Pandas DataFrame Apply function, multiple arguments
body: <p>I have a Pandas dataframe and one of the columns is a string.  I imported a function from an external module to do some RegEx checking and reduce this string to a short classification.</p>
  
  <p>This works:</p>
  
  <pre><code>df['PageCLass'] = df['PageClass'].apply(lambda x: PageClassify.page_classify(x))
  </code></pre>
  
  <p>However what I would really like to do is incorporate another column 'Rev' in the dataframe which happens to be either be a float or NaN into the checking.   </p>
  
  <p>When I did this:</p>
  
  <pre><code>df['PageCLass'] = df['PageClass'].apply(lambda x: PageClassify.page_classify(x,df['Rev']))
  </code></pre>
  
  <p>and I was doing logical checks inside the classification function on the 2nd argument, I got this error:</p>
  
  <pre><code>ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
  </code></pre>
  
  <p>What I am looking for is a way to capture the 2nd argument value by value, just as lambda x:  captures the first argument value by value.</p>