Pandas DataFrame: substituição de valor direcionado com base em condições
No Pandas, muitas vezes é necessário modificar valores específicos dentro de um DataFrame com base em determinados critérios . Embora uma abordagem comum seja usar loc para selecionar linhas, é crucial entender como direcionar com precisão uma coluna específica para modificação de valor.
Considere o seguinte DataFrame, onde desejamos substituir valores na 'Primeira Temporada' coluna que excede 1990 com o número inteiro 1:
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1996 326 5 San Franciso 49ers 1950 1003
Uma tentativa inicial usando apenas a função loc resultou na substituição de todos os valores nas linhas selecionadas, em vez de apenas na coluna de destino. Para corrigir isso, precisamos especificar explicitamente a coluna 'Primeira Temporada' como o segundo argumento para loc:
df.loc[df['First Season'] > 1990, 'First Season'] = 1
Essa abordagem direcionada garante que apenas os valores na coluna 'Primeira temporada' que satisfaçam a condição sejam substituídos por 1, deixando as outras colunas inalteradas.
Team First Season Total Games 0 Dallas Cowboys 1960 894 1 Chicago Bears 1920 1357 2 Green Bay Packers 1921 1339 3 Miami Dolphins 1966 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 1950 1003
Alternativamente, se o resultado desejado for um indicador booleano, você pode empregar a condição para criar uma série booleana e convertê-la em números inteiros, onde True e False se traduzem em 1 e 0, respectivamente :
df['First Season'] = (df['First Season'] > 1990).astype(int)
Esta abordagem produz um DataFrame com valores atualizados:
Team First Season Total Games 0 Dallas Cowboys 0 894 1 Chicago Bears 0 1357 2 Green Bay Packers 0 1339 3 Miami Dolphins 0 792 4 Baltimore Ravens 1 326 5 San Franciso 49ers 0 1003
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3