Предположим, что у вас есть 2 следующих источника данных:
real_df :
title subject text date
0 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
fake_df :
title subject text date
0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
1 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06
Чтобы объединить их с «метками происхождения», вы можете использовать:
df = pd.concat([real_df, fake_df], keys=[1, 0])
Результат (на данный момент):
title subject text date
1 0 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
0 0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
1 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06
, где метки происхождения находятся на верхнем уровне мультииндекса.
Чтобы превратить его в «обычный» столбец и дать ему нужное имя, выполните:
df = df.reset_index(level=0).reset_index(drop=True).rename(columns={'level_0': 'Validity'})
Теперь результат такой же, как у вас sh, а именно:
Validity title subject text date
0 1 Real_title_1 Real_subject_1 Real_text_1 2020-03-01
1 1 Real_title_2 Real_subject_2 Real_text_2 2020-03-03
2 0 Fake_title_1 Fake_subject_1 Fake_text_1 2020-03-04
3 0 Fake_title_2 Fake_subject_2 Fake_text_2 2020-03-06