Função Pandas cut
-
Sintaxe da função
pandas.cut()
-
Exemplo: Distribuir valores de coluna de um DataFrame em compartimentos usando o método
pandas.cut()
-
Exemplo: Distribuir valores em caixas e atribuir um rótulo a cada caixa usando o método
pandas.cut()
-
Exemplo: Defina
retbins=True
no métodopandas.cut()
para retornar os valores bin
A função pandas.cut()
pode distribuir os dados fornecidos em intervalos, também chamados de bins
.
Usaremos o DataFrame abaixo neste artigo.
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print(df)
Resultado:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
Sintaxe da função pandas.cut()
pandas.cut(
x,
bins,
right=True,
labels=None,
retbins=False,
precision=3,
include_lowest=False,
duplicates="raise",
ordered=True,
)
Parâmetros
x |
A matriz fornecida |
bins |
Os critérios para armazenar os dados |
right |
Boleano. Se for True , inclua também o número mais à direita da caixa. |
labels |
Variedade. Etiquetas para as caixas. |
retbins |
Boleano. Se True , devolva os caixotes do lixo. |
precision |
Inteiro. Precisão para armazenar e exibir caixas |
ordered |
Boleano. Se for verdadeiro, os rótulos resultantes serão ordenados |
Retornar
Ele retorna un array que consiste em valores bin para cada elemento no array x
. Ele também retorna os bins se tivermos definido retbins=True
.
Exemplo: Distribuir valores de coluna de um DataFrame em compartimentos usando o método pandas.cut()
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
df["Age-Range"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50])
print("DataFrame with Age-Range:")
print(df)
Resultado:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 (20, 30]
1 Birat 34 322 (30, 40]
2 Chirag 38 332 (30, 40]
3 Kabin 45 330 (40, 50]
4 Sachin 27 325 (20, 30]
Ele separa os valores da coluna Age
no DataFrame df
nas faixas etárias calculadas usando o valor do argumento bins
no método pandas.cut()
e finalmente exibe DataFrame com o valor Age-Range
para cada linha.
Aqui, (20,30]
representa os valores de 20 a 30, excluindo 20 e incluindo 30.
Exemplo: Distribuir valores em caixas e atribuir um rótulo a cada caixa usando o método pandas.cut()
Por padrão, o rótulo atribuído a cada compartimento será o intervalo do compartimento. Podemos definir os rótulos de bin personalizados usando o parâmetro labels
na função pandas.cut()
.
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
bin_labels = labels = ["21 to 30", "31 to 40", "41 to 50"]
df["Age-Range"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50], labels=bin_labels)
print("DataFrame with Age-Range:")
print(df)
Resultado:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 21 to 30
1 Birat 34 322 31 to 40
2 Chirag 38 332 31 to 40
3 Kabin 45 330 41 to 50
4 Sachin 27 325 21 to 30
Ele atribui cada valor da coluna Age
em compartimentos e adiciona um rótulo a cada compartimento exclusivo.
Exemplo: Defina retbins=True
no método pandas.cut()
para retornar os valores bin
import pandas as pd
df = pd.DataFrame(
{
"Name": ["Anish", "Birat", "Chirag", "Kabin", "Sachin"],
"Age": [23, 34, 38, 45, 27],
"Score": [316, 322, 332, 330, 325],
}
)
print("Initial DataFrame:")
print(df, "\n")
bin_labels = labels = ["21 to 30", "31 to 40", "41 to 50"]
df["Age-Range"], bin_values = pd.cut(
x=df["Age"], bins=[20, 30, 40, 50], labels=bin_labels, retbins=True
)
print("DataFrame with Age-Range:")
print(df, "\n")
print("The bin values are:")
print(bin_values)
Resultado:
Initial DataFrame:
Name Age Score
0 Anish 23 316
1 Birat 34 322
2 Chirag 38 332
3 Kabin 45 330
4 Sachin 27 325
DataFrame with Age-Range:
Name Age Score Age-Range
0 Anish 23 316 21 to 30
1 Birat 34 322 31 to 40
2 Chirag 38 332 31 to 40
3 Kabin 45 330 41 to 50
4 Sachin 27 325 21 to 30
The bin values are:
[20 30 40 50]
Ele exibe o DataFrame com valores Age-Range
junto com os valores bin.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn