Tenho um dataframe que se parece com:
ID f_1 f_2 f_3
1 1 0 1
2 0 1 1
3 1 1 0
4 1 0 1
5 0 1 1
Não tenho a mínima ideia de como começar. E também meu dataframe original é bem grande (~1M linhas) e, portanto, um método rápido seria muito apreciado.
e eu gostaria de gerar uma nova coluna Result
que registra o par de f
's que tem 1 neles, ou seja
ID f_1 f_2 f_3 Result
1 1 0 1 1_3
2 0 1 1 2_3
3 1 1 0 1_2
4 1 0 1 1_3
5 0 1 1 2_3
Você pode usar um
dot
produto depois de renomear as colunas comstr.replace
/str.removeprefix
:Alternativamente, uma abordagem mais clássica de pandas (muito mais lenta) com remodelagem (
melt
), filtragem (comquery
), egroupby.agg
:Ou com
stack
:Saída:
Horários
Em 20K linhas:
Em 1M linhas: