Pandas Bins

Pandas Bins
Neste tutorial, você aprenderá sobre as funções Cut () e QCUT (), os dois métodos diferentes de pandas para compartilhar seus dados. Você pode dobrar os dados em caixas de tamanho igual e de tamanho personalizado. Enquanto colocar os dados em caixas personalizadas pode ajudá-lo a obter uma visão das classificações de categorização lógica, as caixas de tamanho igual tornam simples entender a distribuição. O binning dos dados pode ser executado usando as funções Cut () e Qcut ().

Função cut ()

Quando é necessário classificar e segmentar os valores de dados em caixas, você usa o método Cut (). O método Cut () funciona apenas com os objetos como matrizes unidimensionais. O método Cut () realiza análise estatística em um grande conjunto de dados escalares/numéricos. Esta função também pode converter os elementos de uma matriz em várias caixas.

Sintaxe:

Pandas.corte (dados, caixas, direita, etiquetas, retbins)

Parâmetros:

  1. x: Matriz unidimensional; a matriz que queremos bin.
  2. BINS: As bordas da caixa são definidas para a segmentação.
  3. certo: Isso é definido como true por padrão. Indica se a borda mais à direita das caixas está incluída ou não
  4. Rótulos: Pode ser um bool ou matriz, e é opcional. Os rótulos para os caixotes de recarga são especificados. O comprimento deve corresponder aos caixotes produzidos. Se for falso, apenas os indicadores inteiros são devolvidos.
  5. retbins: Bool, falso por padrão. Se as caixas são devolvidas ou não. Quando as caixas são fornecidas como um escalar, é útil.

Exemplo 1: com parâmetro de caixas
Vamos ter um quadro de dados que contém 12 números inteiros na coluna "valores1". Crie 8 caixas no intervalo de 15 cada e armazene as caixas na coluna "Bins".

Importar pandas
numérico = pandas.Dataframe ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34])
Imprimir (numérico)
# Crie 8 caixas
numérico ['Bins'] = pandas.corte (numérico ['valores1'], caixas = [1,15,30,45,60,75,90,105]))
imprimir()
Imprimir (numérico)
imprimir()
Imprimir (numérico ['Bins'].exclusivo())

Saída:

Explicação:
Os caixotes são criados para todos os valores. Também exibimos os tamanhos do compartimento usando a função exclusiva (). Agora, você pode ver que uma lixeira é alocada para cada valor.

Exemplo 2: com parâmetro de etiquetas
Crie 5 caixas no intervalo de 10 cada e armazene as caixas na coluna “Bins” para o Dadosframe com 7 linhas.

Importar pandas
numérico = pandas.DataFrame ('valores1': [2,5,12,32,20,3,10])
# Crie 5 caixas e especifique rótulos para cada lixeira.
numérico ['Bins'] = pandas.corte (numérico ['valores1'], caixas = [1,10,20,30,40], rótulos = ['primeiro', 'segundo', 'terceiro', 'last']))
imprimir()
Imprimir (numérico)

Saída:

Explicação:
Os caixotes são criados para todos os valores.

  1. Para a lixeira [1-10], o rótulo é "primeiro". Os valores 2, 5, 3 e 10 se enquadram na primeira lixeira.
  2. Para a lixeira [11-20], o rótulo é "segundo". Os valores 12 e 20 se enquadram na segunda lixeira.
  3. Para a lixeira [21-30], o rótulo é "terceiro". Nenhum valores está neste intervalo.
  4. Para a lixeira [31-40], o rótulo é "último". O valor 32 se enquadra sob esta lixeira.

Função qcut ()

A função qcut () é conhecida como método de "discretização baseada em quantil". Isso significa que o qcut () é usado para criar as caixas de tamanho igual dividindo os dados subjacentes. A função qcut () também é conhecida como “função de discretização baseada em quantília”. Isso significa que o qcut () é usado para dividir os dados subjacentes nas caixas de tamanhos iguais.

Sintaxe:

Pandas.corte (dados, q, direita, rótulos, retbins)

Parâmetros:

  1. x: Array unidimensional, a matriz que queremos bin.
  2. q: Número de quantis.
  3. certo: Isso é definido como true por padrão. Indica se a borda mais à direita das caixas está incluída ou não.
  4. Rótulos: Pode ser um bool ou matriz, e é opcional. Os rótulos para os caixotes de recarga são especificados. O comprimento deve corresponder aos caixotes produzidos. Se for falso, apenas os indicadores inteiros são devolvidos.
  5. retbins: Bool, falso por padrão. Se as caixas são devolvidas ou não. Quando as caixas são fornecidas como um escalar, é útil.

Exemplo 1:
Vamos ter um quadro de dados que contém 12 números inteiros nas colunas “valores1” e “valores2”. Crie 2 quantis para as duas colunas.

Importar pandas
numérico = pandas.Dataframe ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34],
'valores2': [11,22,33,44,55,66,77,88,99,100,12,12]))
Imprimir (numérico)
# Crie 2 quantis para valores1 coluna
Numérico ['Valores da BIN 1'] = Pandas.qcut (numérico ['valores1'], 2)
# Crie 2 caixas para a coluna Valores1
Numérico ['Valores Bin 2'] = Pandas.qcut (numérico ['valores2'], 2)
imprimir()
Imprimir (numérico)

Saída:

Explicação:
Criamos 2 quantis para cada coluna. Agora, você pode ver que cada quantil tem um número igual de valores.

  1. Na coluna "valores1", os quantis são (11.999, 44.5] e (44.5, 100.0]. Existem 6 para ambos os quantis.
  2. Na coluna "valores2", os quantis são (10.999, 49.5] e (49.5, 100.0]. Existem 6 para ambos os quantis.

Exemplo 2: qcut () vs corte ()
Vamos ter um quadro de dados que contém 12 números inteiros nas colunas “valores1” e “valores2”. Agora, usando cut (), crie duas caixas. E usando QCUT (), crie 2 quantis para a coluna "valores2".

Importar pandas
numérico = pandas.Dataframe ('valores1': [12,34,56,44,45,34,45,32,67,89,100,34],
'valores2': [11,22,33,44,55,66,77,88,99,100,12,12]))
# Crie 2 quantis para a coluna Valores2
numérico ['qcut ()'] = pandas.qcut (numérico ['valores2'], q = 2)
# Crie 2 caixas para a coluna Valores2
numérico ['corte ()'] = pandas.corte (numérico ['valores2'], caixas = 2)
Imprimir (numérico ['qcut ()']))
imprimir()
Imprimir (numérico ['corte ()'])

Saída:

Explicação:
Agora, você vê a diferença real:

O qcut () agrupa os dados em partes iguais. Seis (6) valores são submetidos (10.999, 49.5] e outros 6 abaixo (49.5, 100.0]. Considerando que em corte (), 7 valores são submetidos (10.911, 55.5] e outros 5 valores são submetidos (10.911, 55.5].

Conclusão

Discutimos sobre as funções Cut () e Qcut () para Bin os dados em Pandas Python. Vimos a sintaxe de ambas as funções e descrevemos seus parâmetros para ajudá -lo enquanto usam essas funções. Nos exemplos deste tutorial, mostramos como segmentar os dados em caixas, rotular as caixas e como usar os dados de binning de tamanho igual usando o corte () e o qcut (). Agora, você poderá compartilhar os dados por conta própria usando essas funções.