title: How to split a pandas string to extract middle names?
body: <p>I want to split names of individuals into multiple strings. I am able to extract the first name and last name quite easily, but I have problems extracting the middle name or names as these are quite different in each scenario. </p>
  
  <p>The data would look like this:</p>
  
  <pre><code>ID| Complete_Name               | Type
  1 | JERRY, Ben                  | "I"
  2 | VON HELSINKI, Olga          | "I"
  3 | JENSEN, James Goodboy Dean  | "I"
  4 | THE COMPANY                 | "C"
  5 | CRUZ, Juan S. de la         | "I"
  </code></pre>
  
  <p>Whereby there are names with only a first and last name and names with something in between or two middle names. How can I extract the middle names from a Pandas dataframe? I can already extract the first and last names.</p>
  
  <pre><code>df = pd.read_csv("list.pip", sep="|")
  df["First Name"] = 
  np.where(df["Type"]=="I",df['Complete_Name'].str.split(',').str.get(1) , df[""])
  df["Last Name"] = np.where(df["Type"]=="I",df['Complete_Name'].str.split(' ').str.get(1) , df[""])
  </code></pre>
  
  <p>The desired results should look like this:</p>
  
  <pre><code>ID| Complete_Name               | Type | First Name | Middle Name | Last Name
  1 | JERRY, Ben                  | "I"  | Ben        |             | JERRY
  2 | VON HELSINKI, Olga          | "I"  | Olga       |             |
  3 | JENSEN, James Goodboy Dean  | "I"  | James      | Goodboy Dean| VON HELSINKI
  4 | THE COMPANY                 | "C"  |            |             |
  5 | CRUZ, Juan S. de la         | "I"  | Juan       | S. de la    | CRUZ
  </code></pre>