title: What the most efficient way to search substring through a Pandas DataFrame?
body: <p>I have a Pandas Dataframe containing 75k rows of text (approx. 350 chars per row). I need to search the occurrences of a list of 45k substrings within that dataframe. </p>
  
  <p>Expected output is a <code>authors_data</code> <code>dict</code> containing the list of authors and the number of occurrences. Following code assumes I have a <code>dataframe['text']</code> column and a list of substrings named <code>authors_list</code>.</p>
  
  <pre><code>authors_data = {}
  for author in authors_list:
      count = 0
      for i, row in df.iterrows():
           if author in row.text:
               count += 1
  authors_data[author] = count
  print(author, authors_data[author])
  </code></pre>
  
  <p>I ran some initial tests, 10 authors took me about 50 seconds. The complete table will take me a few days to run. So I'm looking at more time efficient ways to run the code.</p>
  
  <p>Is <code>df.iterrows()</code> fast enough? Are there any specific libraries that I should look into? </p>
  
  <p>Let me know!</p>