Если я правильно понимаю вопрос, это то, что вы ищете.
# setup
df = pd.DataFrame(np.random.randint(0,100,size=(3, 12)), columns=["comp_type_1", "tag_1", "length_1", "value_1", "comp_type_2", "tag_2", "length_2", "value_2", "comp_type_3", "tag_3", "length_3", "value_3"])
# column filter
df2 = df[[_ for _ in df.columns if 'length' in _]]
Вывод (df2
)
length_1 length_2 length_3
0 91 81 23
1 42 92 50
2 61 79 76