Como contar a freqüência em que um valor ocorre em Pandas Dataframe
![Como contar a freqüência em que um valor ocorre em Pandas Dataframe](/img/Python-Pandas/feature-image---How-to-count-the-frequency-a-value-occurs-in-Pandas-Dataframe.webp)
Às vezes, quando você estiver trabalhando com dados, talvez queira contar quantas vezes um valor ocorre na coluna ou, em outras palavras, para calcular a freqüência. São usados principalmente três métodos para este fim. Vamos dar uma olhada neles, um a um.
df.groupby().count()
Series.valor_contas()
df.groupby().size()
Utilizaremos o mesmo DataFrame
nas próximas seções como a seguir,
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
df.groupby().count()
Método
Se você quiser calcular a freqüência em uma única coluna, então este método é o melhor.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df.groupby(["A"]).count()
print(freq)
freq = df.groupby(["B"]).count()
print(freq)
O seguinte será emitido.
B
A
jim 4
sal 3
tom 2
A
B
a 4
b 5
Series.valor_contas()
Método
Como todo objeto dataframe é uma coleção de objetos Series
, este método é melhor utilizado para objetos pandas.Series
.
Agora utilize a função Series.values_counts()
.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df["A"].value_counts()
print(freq)
freq = df["B"].value_counts()
print(freq)
O seguinte será produzido.
jim 4
sal 3
tom 2
Name: A, dtype: int64
b 5
a 4
Name: B, dtype: int64
df.groupby().size()
Método
Os dois métodos acima não podem ser utilizados para contar a freqüência de múltiplas colunas, mas podemos utilizar df.groupby().size()
para múltiplas colunas ao mesmo tempo.
import pandas as pd
df = pd.DataFrame(
{
"A": ["jim", "jim", "jim", "jim", "sal", "tom", "tom", "sal", "sal"],
"B": ["a", "b", "a", "b", "b", "b", "a", "a", "b"],
}
)
freq = df.groupby(["A", "B"]).size()
print(freq)
O seguinte será emitido.
A B
jim a 2
b 2
sal a 1
b 2
tom a 1
b 1
dtype: int64
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum