2015-04-14 2 views
1
sorted(X_train_num.F12.unique())==sorted(X_test_num.F12.unique()) 

В основном я хочу запустить цикл над другой переменной, такой как F12, F11, F78 и т. Д., Чтобы я мог снова и снова писать одну команду для разных переменных.Как сделать цикл над оператором

ли кто-нибудь знает простой путь к петле над этим утверждением с различным варом (F12, F11 и т.д.)

ответ

4

Использования getattr:

var = 'F12' 
sorted(getattr(X_train_num, var).unique())==sorted(getattr(X_test_num, var).unique()) 

выше можно легко поместить в петле. Например:

for var in ('F10', 'F11', 'F12'): 
    sorted(getattr(X_train_num, var).unique())==sorted(getattr(X_test_num, var).unique()) 
1

Side Примечание: Вы также можете сделать сравнение более эффективно с помощью установить равенство:

set(getattr(X_train_num, var)) == set(getattr(X_test_num, var)) 
Смежные вопросы