Pandas DataFrame DataFrame.where() Função
-
Sintaxe de
pandas.DataFrame.where()
-
Códigos de exemplo:
DataFrame.where()
-
Códigos de exemplo:
DataFrame.where()
para especificar um valor -
Códigos de exemplo:
DataFrame.where()
para utilizar múltiplas condições
Python Pandas DataFrame.where()
função aceita uma condição como parâmetro e produz resultados em conformidade. Verifica a condição para cada valor do DataFrame
e selecciona os valores que aceitam a condição. A funcionalidade da mesma é semelhante à declaração if-else. O valor que não aceita a condição é substituído por um valor NaN
por defeito.
Sintaxe de pandas.DataFrame.where()
DataFrame.where(
cond,
other=NaN,
inplace=False,
axis=None,
level=None,
errors="raise",
try_cast=False,
)
Parâmetros
Esta função tem vários parâmetros. Os valores por defeito de todos os parâmetros são mencionados acima.
cond |
É uma Series ou DataFrame booleana, uma estrutura semelhante a um arraial ou, uma estrutura chamável. Representa a condição/condições a verificar para cada valor do DataFrame . Se a condição for True , então o valor original não é substituído. Caso contrário, é substituído por um valor NaN . |
other |
É um escalar, Series /DataFrame , ou um chamável. Representa o valor que será colocado para o valor original se a condição for False . |
inplace |
É um valor booleano. Fala sobre a operação com dados. Se True , ele próprio faz alterações. |
axis |
É um valor inteiro. Fala sobre o eixo de trabalho quer em filas quer em colunas. |
level |
É um valor inteiro. Fala sobre o nível. |
errors |
É um string. Fala sobre os erros. Aceita duas opções: raise ou ignore . Se o seu valor é raise , então permite que se levantem excepções. Se o seu valor é ignore , então ignora as excepções e devolve o objecto original se houver um erro. |
try_cast |
É um valor booleano. Se possível, a saída da função é do tipo de entrada original. |
Devolver
Devolve o DataFrame
alterado, dependendo da condição.
Códigos de exemplo: DataFrame.where()
Vamos aprender mais sobre esta função implementando-a no próximo exemplo de código.
import pandas as pd
dataframe=pd.DataFrame({
'A':
{0: 60,
1: 100,
2: 80,
3: 78,
4: 95,
5: 45,
6: 67,
7: 12,
8: 23,
9: 50},
'B':
{0: 90,
1: 75,
2: 82,
3: 64,
4: 45,
5: 35,
6: 74,
7: 52,
8: 93,
9: 18}
})
print(dataframe)
O exemplo DataFrame
é,
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 45
5 45 35
6 67 74
7 12 52
8 23 93
9 50 18
Esta função tem um parâmetro obrigatório, ou seja, cond
.
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50)
print(dataframe1)
Resultado:
A B
0 60.0 90.0
1 100.0 75.0
2 80.0 82.0
3 78.0 64.0
4 95.0 NaN
5 NaN NaN
6 67.0 74.0
7 NaN 52.0
8 NaN 93.0
9 NaN NaN
Os valores que não são superiores a 50, ou seja, que não satisfazem a condição, são substituídos por um valor NaN
.
Códigos de exemplo: DataFrame.where()
para especificar um valor
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where(dataframe > 50, other=0)
print(dataframe1)
Resultado:
A B
0 60 90
1 100 75
2 80 82
3 78 64
4 95 0
5 0 0
6 67 74
7 0 52
8 0 93
9 0 0
Aqui, os valores que não satisfazem a condição são substituídos por um valor definido pelo utilizador.
Códigos de exemplo: DataFrame.where()
para utilizar múltiplas condições
import pandas as pd
dataframe = pd.DataFrame(
{
"A": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95, 5: 45, 6: 67, 7: 12, 8: 23, 9: 50},
"B": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45, 5: 35, 6: 74, 7: 52, 8: 93, 9: 18},
}
)
dataframe1 = dataframe.where((dataframe == 80) | (dataframe < 50), other=0)
print(dataframe1)
Resultado:
A B
0 0 0
1 0 0
2 80 0
3 0 0
4 0 45
5 45 35
6 0 0
7 12 0
8 23 0
9 0 18
O DataFrame
devolvido contém os valores que satisfazem ambas as condições.