Я думаю, вы можете просто использовать .columns.tolist()
и комбинировать списки, как хотите.
df = pd.DataFrame({f'col_{i}': [num for num in np.random.randint(0, 10, 5)] for i in range(20)})
print(df)
col_0 col_1 col_2 col_3 ... col_16 col_17 col_18 col_19
0 0 0 9 0 ... 3 3 5 8
1 7 1 9 2 ... 5 6 9 7
2 0 9 9 6 ... 2 1 4 8
3 0 7 4 7 ... 0 4 7 1
4 8 7 8 5 ... 1 9 9 6
[5 rows x 20 columns]
print(df[df.columns.tolist()[5:10] + df.columns.tolist()[15:20]])
col_5 col_6 col_7 col_8 ... col_16 col_17 col_18 col_19
0 2 7 4 9 ... 3 3 5 8
1 9 2 8 5 ... 5 6 9 7
2 2 9 0 7 ... 2 1 4 8
3 1 2 2 9 ... 0 4 7 1
4 1 7 8 0 ... 1 9 9 6
[5 rows x 10 columns]