Python에서 분할표를 만드는 방법


분할표는 두 범주형 변수 간의 관계를 요약하는 표 유형입니다.

Python에서 분할표를 만들려면 다음 구문을 사용하는 pandas.crosstab() 함수를 사용할 수 있습니다.

pandas.crosstab(색인, 열)

금:

  • index : 분할표의 행에 표시할 변수의 이름
  • 열: 분할표의 열에 표시할 변수의 이름

다음 단계별 예제에서는 이 함수를 사용하여 Python에서 분할표를 만드는 방법을 보여줍니다.

1단계: 데이터 생성

먼저, 구매한 제품 유형(TV, 컴퓨터, 라디오)과 제품을 구매한 국가(A, B, C)를 포함하여 20가지 제품 주문에 대한 정보를 표시하는 데이터세트를 만들어 보겠습니다.

 import pandas as pd

#create data
df = pd. DataFrame ({'Order': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
                            11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
                   'Product': ['TV', 'TV', 'Comp', 'TV', 'TV', 'Comp',
                               'Comp', 'Comp', 'TV', 'Radio', 'TV', 'Radio', 'Radio',
                               'Radio', 'Comp', 'Comp', 'TV', 'TV', 'Radio', 'TV'],
                   'Country': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B',
                               'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C']})

#view data
df

        Order Product Country
0 1 TV A
1 2 TV A
2 3 Comp A
3 4 TV A
4 5 TV B
5 6 Comp B
6 7 Comp B
7 8 Comp B
8 9 TV B
9 10 Radio B
10 11 TV B
11 12 Radio B
12 13 Radio C
13 14 Radio C
14 15 Comp C
15 16 Comp C
16 17 TV C
17 18 TV C
18 19 Radio C
19 20 TV C

2단계: 분할표 만들기

다음 코드는 각 국가에서 주문한 각 제품의 수를 계산하는 분할표를 만드는 방법을 보여줍니다.

 #create contingency table
p.d. crosstab (index=df[' Country '], columns=df[' Product '])

Product Comp Radio TV
Country			
A 1 0 3
B 3 2 3
C 2 3 3

테이블을 해석하는 방법은 다음과 같습니다.

  • A국가에서는 총 1 대의 컴퓨터를 구입했습니다.
  • B국가에서는 총 3 대의 컴퓨터를 구입했습니다.
  • C 국가에서는 총 2 대의 컴퓨터를 구입했습니다.
  • A국가에서는 총 0개의 라디오를 구매했습니다.
  • B국가에서는 총 2개의 라디오를 구매하였습니다.
  • C국에서는 총 3개의 라디오를 구입했습니다.
  • A 국가에서는 총 3대의 TV를 구입했습니다.
  • B 국가에서는 총 3대의 TV를 구입했습니다.
  • C 국가에서는 총 3대의 TV를 구입했습니다.

3단계: 분할표에 마진 합계 추가

margins=True 인수를 사용하여 분할표에 마진 합계를 추가할 수 있습니다.

 #add margins to contingency table
p.d. crosstab (index=df[' Country '], columns=df[' Product '], margins= True )

Product Comp Radio TV All
Country				
A 1 0 3 4
B 3 2 3 8
C 2 3 3 8
All 6 5 9 20

테이블 값을 해석하는 방법은 다음과 같습니다.

라인 합계:

  • A국가에서 총 4 건의 주문이 접수되었습니다.
  • B국가에서 총 8 건의 주문이 접수되었습니다.
  • C 국가에서 총 8 건의 주문이 접수되었습니다.

열 합계:

  • 6 대의 컴퓨터를 구입했습니다.
  • 5개의 라디오를 구입했습니다.
  • 9 대의 TV를 구입했습니다.

테이블의 오른쪽 하단에 있는 값은 모든 국가에서 총 20개의 제품이 주문되었음을 나타냅니다.

추가 리소스

R에서 분할표를 만드는 방법
Excel에서 분할표를 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다