title: Apply string.format() to row in Pandas DataFrame
body: <p>I would like to represent a row in a pandas DataFrame with a formatted string referencing the columns.  The best method I have found is to cast the row to a dict and then string.format()</p>
  
  <p>Assuming a <code>pd.DataFrame</code> <code>df</code> with the columns 'specimen' and 'date':</p>
  
  <pre><code>r = df.loc[0]
  print("{specimen}_{date}".format(**r.to_dict()))
  </code></pre>
  
  <p>can be used to apply the format string using the column data.</p>
  
  <p>This does not seem very efficient.  Is there must be a better way to do this in pandas directly without converting to a dict while maintaining the flexibility of explicitly naming columns in the format string?</p>
  
  <p>Update:</p>
  
  <p>The ultimate purpose is to generate tick labels for a matplotlib plot.  Using the answer below:</p>
  
  <pre><code>plot.set_yticklabels(["{specimen}_{date}".format(**r) for i,r in df.iterrows()])
  </code></pre>