Вы можете включить случайный модуль из стандартной библиотеки, чтобы получить случайную выборку всех числовых столбцов.
df = pd.DataFrame({
'a': list('abcde'),
'b': ['1','2','3','4','5'],
'c': range(5),
'd': [i*21 for i in range(5)],
'e': [12,32,45,67,54]})
str_cols = df.select_dtypes(exclude='number').columns.tolist()
num_cols = random.sample(df.select_dtypes('number').columns.tolist(), k=2)
dff = df.loc[:, str_cols+num_cols]
print(dff)
a b d c
0 a 1 0 0
1 b 2 21 1
2 c 3 42 2
3 d 4 63 3
4 e 5 84 4