Executando verificação de segurança...
2

nesse momento é muito importante testar e ver na documentação
o que o numpy diz sobre o paremetro de any():
Axis or axes along which a logical OR reduction is performed

tendo essa descrição podemos ir testando pra realmente entender o que esta acontecendo, para facilitar vamos pegar só os indices 0 e 1 do C

[[
    [[False, False],[False, False]],   
    [[False, False],[False, False]],
    [[False,  True],[ True, False]]
    ],
    [
    [[False, False],[False, False]],
    [[False, False],[False, False]],
    [[False, False],[False,  True]]
]]

como o any esta com o parametro 3, vai verificar no axes/axis 3 (ou seja o resultado vai ter uma dimensão a menos do q o atual

    [[False, False],[False, False]], ->  [[F com F da F],[F com F da F]]
    [[False, False],[False, False]],  ->  [[F com F da F],[F com F da F]]
    [[False,  True],[ True, False]], ->  [[F com T da T],[T com F da T]]
    ],
    [
    [[False, False],[False, False]], ->  [[F com F da F],[F com F da F]]
    [[False, False],[False, False]],  ->  [[F com F da F],[F com F da F]]
    [[False, False],[False,  True]] ->  [[F com F da F],[F com T da T]]
    ]]

o resultado dessa operação é

[[[False, False],
[False, False],
[ True,  True]],

[[False, False],
[False, False],
[False,  True]]]

antes tinha lista com uma lista dentro, agora essa lista de dentro foi transformado em boleano pela operação any() , aplicando essa logica algumas vezes de forma encadeada, any diminui uma dimensão -> any diminui uma dimensão - > all diminui uma dimensão resulta em uma lista com uma unica dimensão

array([ True, False,  True,  True, False, False,  True, False])

o where() tem q dar uma condição para aplicar caso a condição seja verdadeira, como essa lista é só de boleanos então vai retornar o indice onde é verdadeiro [0, 2, 3, 6]

como não manjo muito de numpy, a questão 1 ficou de fora

Carregando publicação patrocinada...
1