Pandas: fórmula para “se valor na coluna então”


Você pode usar a seguinte sintaxe no pandas para atribuir valores a uma coluna com base nos valores de outra coluna:

 df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')

Esta sintaxe específica criará uma nova coluna chamada “nova”, que assumirá os seguintes valores:

  • new1 se o valor em col for igual a A.
  • new2 se o valor em col for igual a B.
  • Uma string vazia se o valor em col for igual a qualquer outro valor.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: usando uma fórmula para “If Value in Column Then” em Pandas

Suponha que temos o seguinte DataFrame do pandas que contém informações sobre vários jogadores de basquete:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C'],
                   ' points ': [14, 22, 25, 34, 30, 12, 10, 18]})

#view DataFrame
print (df)

  team points
0 to 14
1 to 22
2 to 25
3 to 34
4 B 30
5 B 12
6 C 10
7 C 18

Agora suponha que queiramos criar uma nova coluna chamada cidade cujos valores dependem do valor correspondente na coluna equipe .

Podemos usar a seguinte sintaxe para fazer isso:

 #create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')

#view updated DataFrame                            
print (df)

  team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10         
7 C 18       

Esta sintaxe específica criou uma nova coluna chamada cidade que assume os seguintes valores:

  • Atlanta se o valor da equipe for igual a A.
  • Boston se o valor da equipe for igual a B.
  • Uma string vazia se o valor em team for igual a qualquer outro valor.

Observe que neste exemplo usamos uma string vazia após a última instrução else para simplesmente deixar vazios os valores que não atendiam a nenhuma condição.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns em pandas:

Pandas: obtém o índice de linhas cuja coluna corresponde ao valor
Pandas: como selecionar colunas contendo uma string específica
Pandas: como verificar se a coluna contém uma string

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *