train_data = pd.DataFrame(columns = ['id','text','response','name']) prev_msg = '' for index, row in df.iterrows(): if prev_msg != '': tmp = pd.DataFrame({'text': [prev_msg], 'response': [row['message']], 'id': [row['id']], 'name': [row['name']]}) train_data = train_data.append(tmp[['id','text','response','name']], ignore_index=True) prev_msg = row['message'] display(train_data)