Criando uma coluna com condições If-Else-Else no Pandas
Para criar uma nova coluna com base em uma condição if-elif-else , existem duas abordagens principais:
Abordagem Não Vetorizada
Essa abordagem envolve definir uma função que opera em linhas:
def f(row):
if row['A'] == row['B']:
val = 0
elif row['A'] > row['B']:
val = 1
else:
val = -1
return val
Em seguida, aplique-o ao dataframe ao longo das linhas:
df['C'] = df.apply(f, axis=1)
Abordagem vetorizada
A abordagem vetorizada utiliza np.where para criar a nova coluna diretamente:
df['C'] = np.where(
df['A'] == df['B'], 0, np.where(
df['A'] > df['B'], 1, -1))
Essa abordagem é mais eficiente para grandes conjuntos de dados.
Aqui está um exemplo usando o dataframe fornecido:
Entrada DataFrame
A | B |
---|---|
2 | 2 |
3 | 1 |
1 | 3 |
Saída DataFrame
A | B | C |
---|---|---|
2 | 2 | 0 |
3 | 1 | 1 |
1 | 3 | -1 |
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