Como contar a freqüência em que um valor ocorre em Pandas Dataframe
À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