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개의 제품이 주문되었음을 나타냅니다.