Если вы работаете с целыми числами / числами с плавающей запятой, вы можете использовать следующее:
df['col_count'] = (df>=10).sum(axis=1)
filtered = df[df['col_count'] >= 2] #.drop(columns='col_count')
Вывод:
col_1 col_2 col_3 col_count
0 7 11 15 2
2 20 9 15 2
Конечно, вы можете добавить следующую строку или удалить ее выше, чтобы удалить дополнительный столбец, который считает количество столбцов для каждой строки со значениями> = 10
filtered = filtered.drop(columns='col_count')