Можно, используя базовую индексацию.Однако, когда вы анализируете df2
, имена столбцов имеют дубликаты и изменяются, поэтому требуется небольшая очистка.
Настройка
names = ['John', 'Mark', 'Jane', 'Natasha', 'Oliver', 'Tony', 'Judd', 'Ron']
cols = ['TRUE', 'TRUE.1', 'FALSE', 'FALSE.1', 'TRUE.2', 'FALSE.2', 'FALSE.3', 'TRUE.3']
df1 = pd.DataFrame(columns=names)
df2 = pd.DataFrame(columns=cols)
df1.loc[:, df2.columns.str.contains('TRUE')]
Empty DataFrame
Columns: [John, Mark, Oliver, Ron]
Index: []