Pandas cut 기능

Suraj Joshi 2023년1월30일
  1. pandas.cut()함수 구문
  2. 예 :pandas.cut()메서드를 사용하여 데이터 프레임의 열 값을 bin에 배포
  3. 예 :pandas.cut()메서드를 사용하여 Bin에 값을 배포하고 각 Bin에 레이블 할당
  4. 예 :pandas.cut()메서드에서retbins = True를 설정하여 Bin 값을 반환합니다
Pandas cut 기능

pandas.cut()함수는 주어진 데이터를bins라고도하는 범위로 배포 할 수 있습니다.

이 기사에서는 아래 DataFrame을 사용합니다.

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)

출력:

     Name  Age  Score
0   Anish   23    316
1   Birat   34    322
2  Chirag   38    332
3   Kabin   45    330
4  Sachin   27    325

pandas.cut()함수 구문

pandas.cut(
    x,
    bins,
    right=True,
    labels=None,
    retbins=False,
    precision=3,
    include_lowest=False,
    duplicates="raise",
    ordered=True,
)

매개 변수

x 주어진 배열
bins 데이터 비닝 기준
right 부울. True인 경우 빈의 맨 오른쪽 번호도 포함합니다.
labels 정렬. 저장소의 레이블입니다.
retbins 부울. True인 경우 빈을 반환합니다.
precision 정수. 빈 저장 및 표시를위한 정밀도
ordered 부울. True 인 경우 결과 레이블이 정렬됩니다.

반환

x배열의 각 요소에 대한 bin 값으로 구성된 배열을 리턴합니다. 또한retbins = True를 설정 한 경우 bin을 반환합니다.

예 :pandas.cut()메서드를 사용하여 데이터 프레임의 열 값을 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")

df["Age-Range"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50])

print("DataFrame with Age-Range:")
print(df)

출력:

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]

DataFrame dfAge열 값을pandas.cut()메소드의bins인수 값을 사용하여 계산 된 연령 범위로 분리하고 마지막으로Age-Range값이있는 DataFrame을 표시합니다. 각 행에 대해.

여기서(20,30]은 20을 제외하고 30을 포함하여 20에서 30까지의 값을 나타냅니다.

예 :pandas.cut()메서드를 사용하여 Bin에 값을 배포하고 각 Bin에 레이블 할당

기본적으로 각 저장소에 할당 된 레이블은 저장소의 범위가됩니다. pandas.cut()함수에서labels매개 변수를 사용하여 사용자 정의 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"] = pd.cut(x=df["Age"], bins=[20, 30, 40, 50], labels=bin_labels)

print("DataFrame with Age-Range:")
print(df)

출력:

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

Age열의 각 값을 저장소에 할당하고 각 고유 저장소에 레이블을 추가합니다.

예 :pandas.cut()메서드에서retbins = True를 설정하여 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)

출력:

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]

Bin 값과 함께Age-Range값이있는 DataFrame을 표시합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

관련 문장 - Pandas DataFrame