Это примерный фрейм данных
ID,IS,Val1,Val2,Val3
1,100,11,9,1
2,101,3,15,16
3,99,10,18,3
1,97,29,25,26
Я также использую idxmin для вычисления минимального значения каждой строки, и когда я нахожу минимальное значение, я хочу проверить, меньше ли это минимальное значение, соответствующее этому столбцу, чемкакое-то число, и если оно есть, то я хочу включить, иначе я хочу удалить его.Это то, что я делаю с помощью переполнения стека .
df1 = df.set_index('ID').iloc[:,1:].idxmin(axis=1).reset_index(name= 'New')
df2 = df1.loc[34 > df.iloc[:, 1:].min(1)]
Я получил этот результат
ID New
1 Val3
2 Val1
3 Val3
1 Val2
Я также получил тот же результат, когда яиспользуя этот код
df2 = df1.loc[34 > df.iloc[:, 3:].min(1)]
# в этом коде, я начинаю свой столбец с Val2, но он все еще дает тот же результат (включая Val1)
ID New
1 Val3
2 Val1
3 Val3
1 Val2
Почему я получаю тот же результатхотя я выбираю из третьего столбца?Что именно эта строка кода делает здесь?df1.loc [34> df.iloc [:, 1:]. min (1)]