Сначала извлеките список столбцов из фрейма данных:
cols = df.columns
from random import randint
index1 = randint(0,len(cols)-1)
index2 = randint(index1,len(cols)-1)
sublist1 = cols[index1:index2]
import numpy as np
sublist2 = np.setdiff1d(cols,sublist1)
Другой способ - использовать random.sample()
и указать длину подсписка. Например:
col = ['a','b','c','d','e','f','g']
sub_col = random.sample(col,4)
['g', 'f', 'a', 'c']
sub_col2 =list(np.setdiff1d(col,sub_col))
['b', 'd', 'e']
Теперь вы можете перебирать два разных списка столбцов, у которых нет общих элементов.