No Excel, quando desejo somar valores em uma tabela, posso realizar uma soma se uma condição for excluída com base no nome da variável. O Pandas tem uma função semelhante?
Para dar mais contexto, estou analisando uma matriz de confusão e determinando a porcentagem de classificações corretas versus incorretas.
Exemplo de Excel:
Fantasy Horror RPG
Fantasy 25 3 1
Horror 1 13 0
RPG 11 1 7
==(sum(B2:B4) - SUMIF($A2:$A4,"<>"&B$1,B2:B4))/sum(B2:B4)
Resultados:
0.68 0.76 0.88
Conheço a groupby
função, mas pelo que entendi ela agrupa com base em variáveis categóricas, não por exclusão como o que pode ser feito com sumif
.
Exemplo:
import pandas as pd
my_data: pd.DataFrame = pd.read_excel("c:/mydata.xlsx")
mydata.groupby("genre").count()
Código de exemplo
df:
Código
fora
Se valores for uma matriz quadrada porque o índice e as colunas são da mesma ordem e do mesmo tamanho, use o código a seguir
mesmo resultado, mas mais rápido