Series Pandas Series.value_counts() Função

Suraj Joshi 30 janeiro 2023
  1. A sintaxe de pandas.Series.value_counts():
  2. Códigos de exemplo: Contagem de Ocorrências de Elementos Únicos na Série Pandas Utilizando Series.value_counts() Método
  3. Códigos de exemplo: Definir normalize=True em Series.value_counts() Método para obter freqüências relativas de elementos
  4. Códigos de exemplo: Defina ascending=True no método Series.value_counts() para classificar os elementos com base no valor da frequência em ordem crescente
  5. Códigos de exemplo: Definir o parâmetro bins em Series.value_counts() Método para Obter Contagem de Valores deitados em Bins Meio Abertos
  6. Códigos de exemplo: Definir dropna=False em Series.value_counts() Method to Counts NaN
Series Pandas Series.value_counts() Função

O método pandas.series.value_counts() conta o número de ocorrências de cada elemento único na Series.

A sintaxe de pandas.Series.value_counts():

Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)

Parâmetros

normalize Booleano. Frequências relativas dos valores únicos(normalize=True) ou frequências absolutas dos valores únicos(normalize=False).
sort Booleano. Ordenar os elementos com base nas freqüências (sort=True) ou deixar o objeto da Série sem ordem (sort=False)
ascending Booleano. Ordenar os valores em ordem ascendente (ascending=True) ou descendente (ascending=False)
bins Inteiro. O número de partições do intervalo de valores do objeto Series é dividido em
dropna Booleano. Incluir contagens de NaN(dropna=False) ou excluir contagens de NaN(dropna=True)

Retornar

Ele retorna um objeto em série composto pela contagem de valores únicos.

Códigos de exemplo: Contagem de Ocorrências de Elementos Únicos na Série Pandas Utilizando Series.value_counts() Método

import pandas as pd
import numpy as np

df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
                   'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)

absolute_counts=df["X"].value_counts()

print("Frequencies of elements of X column:")
print(absolute_counts)

Resultado:

DataFrame:
     X    Y
0  1.0  4.0
1  2.0  NaN
2  3.0  8.0
3  NaN  NaN
4  3.0  3.0
Frequencies of elements of X column:
3.0    2
2.0    1
1.0    1
Name: X, dtype: int64 

O objeto da série absolute_counts dá a contagem de cada elemento único da coluna X utilizando o método Series.value_counts().

A Series.value_counts() não conta a NaN por padrão. Introduziremos como contá-la nas seções seguintes.

Códigos de exemplo: Definir normalize=True em Series.value_counts() Método para obter freqüências relativas de elementos

Se definirmos normalize=True no método Series.value_counts(), obtemos freqüências relativas de todos os elementos únicos no objeto Series.

import pandas as pd
import numpy as np

df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
                   'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)

relative_counts=df["X"].value_counts(normalize=True)

print("Relative Frequencies of elements of X column:")
print(relative_counts)

Resultado:

DataFrame:
     X    Y
0  1.0  4.0
1  2.0  NaN
2  3.0  8.0
3  NaN  NaN
4  3.0  3.0
Frequencies of elements of X column:
3.0    0.50
2.0    0.25
1.0    0.25
Name: X, dtype: float64

O objeto relative_counts Series dá as freqüências relativas de cada elemento único da coluna X.

As freqüências relativas são obtidas dividindo todas as freqüências absolutas pela soma das freqüências absolutas.

Códigos de exemplo: Defina ascending=True no método Series.value_counts() para classificar os elementos com base no valor da frequência em ordem crescente

Se definirmos ascending=True em Series.value_counts() method, obtemos o objeto Series com seus elementos ordenados com base nos valores de freqüência em ordem ascendente.

Por padrão, os valores em objeto Série retornados do método Series.value_counts() são ordenados em ordem decrescente com base em valores de freqüência.

import pandas as pd
import numpy as np

df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
                   'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)

sorted_counts=df["X"].value_counts(ascending=True)
print("Frequencies of elements of X column:")
print(sorted_counts)

Resultado:

DataFrame:
     X    Y
0  1.0  4.0
1  2.0  NaN
2  3.0  8.0
3  NaN  NaN
4  3.0  3.0
Frequencies of elements of X column:
1.0    1
2.0    1
3.0    2
Name: X, dtype: int64

Ele dá contagens de cada objeto único na coluna X com valores de freqüência ordenados em ordem ascendente.

Códigos de exemplo: Definir o parâmetro bins em Series.value_counts() Método para Obter Contagem de Valores deitados em Bins Meio Abertos

import pandas as pd
import numpy as np

df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3, 4, 5],
                   'Y': [4, np.nan, 8, np.nan, 3, 2, 1]})
print("DataFrame:")
print(df)

counts=df["X"].value_counts(bins=3)
print("Frequencies:")
print(counts)

Resultado:

DataFrame:
     X    Y
0  1.0  4.0
1  2.0  NaN
2  3.0  8.0
3  NaN  NaN
4  3.0  3.0
5  4.0  2.0
6  5.0  1.0
Frequencies:
(3.667, 5.0]      2
(2.333, 3.667]    2
(0.995, 2.333]    2
Name: X, dtype: int64

Ela divide o intervalo de valores na Series ou seja, na coluna X em três partes e retorna a contagem dos valores em cada caixa semi-aberta.

Códigos de exemplo: Definir dropna=False em Series.value_counts() Method to Counts NaN

Se definirmos dropna=False em Series.value_counts() método, também obtemos contagens de valores NaN.

import pandas as pd
import numpy as np

df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
                   'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)

counts=df["Y"].value_counts(dropna=False)

print("Frequencies:")
print(counts)

Resultado:

DataFrame:
     X    Y
0  1.0  4.0
1  2.0  NaN
2  3.0  8.0
3  NaN  NaN
4  3.0  3.0
Frequencies:
NaN    2
3.0    1
8.0    1
4.0    1
Name: Y, dtype: int64

Ele dá a contagem de cada elemento na coluna Y de DataFrame com a contagem de valores NaN.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Pandas Series