Opa Gabriel, tudo bem?
Quando fazemos um filtro como: df1 > 0 o que o pandas faz é criar um data frame com valores True e False. Quando pegamos esses valores e colocamos dentro dos colchetes (df1[df1 > 0]) estamos falando para o pandas pegar os valores que são verdadeiros no data frame. Por exemplo:
Vamos pensar em um data frame com valores df1 = [0, 1, 2, 3, 4, 5] E um filtro df1 > 3. Os valores desse filtro será: [False, False, False, False, True, True]
Quando pegamos esse filtro e colocamos como seletor no df1, o pandas vai pegar apenas os valores onde o índice é verdadeiro, no caso [4, 5].
Após isso, temos uma view, uma janela para visualizar os dados que estão no data frame. Podemos pegar esses dados e atribuir um novo valor para eles, como em: df1[df1 > 0] = 'A'