title: combine pandas text rows based on condition
body: <p>I have this kind of df:</p>
  
  <pre><code>df = pd.DataFrame({"text_column" : ['question: everybody is kongfu fighting', 'panda: of course',  'question: Why is the world so great ?', 'friend: Everybody is smart', 'and everybody is cool', 'enemy: no that is just not true', 'jordan: i want to add one thing: please', 'do not talk about this.', ' 2nd question : are you sure ?', 'yeah sure' ]})
  
                                  text_column
  0   question: everybody is kongfu fighting
  1   panda: of course
  2   question: Why is the world so great ?
  3   friend: Everybody is smart
  4   and everybody is cool
  5   enemy: no that is just not true
  6   jordan: i want to add one thing: please
  7   do not talk about this.
  8    2nd question : are you sure ?
  9   messi: yeah sure
  10  question: you are sure about this ?
  11  donald: youre questions are stupid!
  </code></pre>
  
  <p>I want the following output</p>
  
  <pre><code>                 type_column                                     new_text_column
  0  question: panda:                                        everybody is kongfu fighting of course
  
  1  question: friend: enemy: jordan: 2nd question : messi:  Why is the world so great ? Everybody is smart and everybody is cool no that is just not true i want to add one thing: please do not talk about this. are you sure ? yeah sure
  2  question: donald:                                       youre questions are stupid!
  </code></pre>
  
  <p>Basically each question and answer (topic) have to be in one cell.
  I could write a function that works but would use apply, which is in general not an optimal solution.
  Does anybody have a good idea how to do it?</p>