У меня есть вопрос о группировании только определенных строк в кадре данных pandas (который упорядочен по метке времени), в зависимости от значений их столбцов.
Так вот пример:
df=pd.DataFrame({"text":["Hello.",
"I had a question.",
"Hi!",
"Yes how can I help?",
"Do you ship to the UK?"
],
"timestamp":[
pd.Timestamp('20131213 11:50:00'),
pd.Timestamp('20131213 11:51:00'),
pd.Timestamp('20131213 11:52:00'),
pd.Timestamp('20131213 11:53:00'),
pd.Timestamp('20131213 11:54:00')
],
"direction":["In","In","Out","Out","In"]})
Вот как выглядит фрейм данных:

Этот фрейм данных упорядочен по метке времени и может быть (например) веткой чата, где направление «В» может говорить один человек, а «Вне» - другой человек говорит.
То, что я хотел бы получить, это что-то вродеэто: 
В последнем кадре данных текст строк сгруппирован в одну строку, если они имеют одинаковое направление, но строки сгруппированы только до достижениягрести в другом направлении.И порядок сообщений сохраняется.
У кого-нибудь есть идеи?