วิธีสร้างตารางฉุกเฉินใน python
ตารางฉุกเฉิน คือประเภทของตารางที่สรุปความสัมพันธ์ระหว่างตัวแปรประเภทสองตัว
ในการสร้างตารางฉุกเฉินใน Python เราสามารถใช้ฟังก์ชัน pandas.crosstab() ซึ่งใช้ไวยากรณ์ต่อไปนี้:
pandas.crosstab (ดัชนี คอลัมน์)
ทอง:
- ดัชนี: ชื่อของตัวแปรที่จะแสดงในแถวของตารางฉุกเฉิน
- columns: ชื่อของตัวแปรที่จะแสดงในคอลัมน์ของตารางฉุกเฉิน
ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้เพื่อสร้างตารางฉุกเฉินใน Python
ขั้นตอนที่ 1: สร้างข้อมูล
ขั้นแรก มาสร้างชุดข้อมูลที่แสดงข้อมูลเกี่ยวกับคำสั่งซื้อผลิตภัณฑ์ที่แตกต่างกัน 20 รายการ รวมถึงประเภทผลิตภัณฑ์ที่ซื้อ (ทีวี คอมพิวเตอร์ หรือวิทยุ) รวมถึงประเทศ (A, B หรือ C) ที่ซื้อผลิตภัณฑ์:
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
ต่อไปนี้เป็นวิธีการตีความตาราง:
- ซื้อคอมพิวเตอร์ทั้งหมด 1 เครื่องในประเทศ A
- มีการซื้อคอมพิวเตอร์ทั้งหมด 3 เครื่องในประเทศ B
- มีการซื้อคอมพิวเตอร์ทั้งหมด 2 เครื่องในประเทศ C
- มีการซื้อวิทยุทั้งหมด 0 รายการในประเทศ A
- มีการซื้อวิทยุทั้งหมด 2 เครื่องในประเทศ B
- มีการซื้อวิทยุทั้งหมด 3 เครื่องในประเทศ C
- ซื้อโทรทัศน์ทั้งหมด 3 เครื่องในประเทศ A
- ซื้อโทรทัศน์ทั้งหมด 3 เครื่องในประเทศ B
- ซื้อโทรทัศน์ทั้งหมด 3 เครื่องในประเทศ C
ขั้นตอนที่ 3: เพิ่มผลรวมมาร์จิ้นลงในตารางฉุกเฉิน
เราสามารถใช้อาร์กิวเมนต์ Margins=True เพื่อเพิ่มผลรวมของ Margin ลงในตารางฉุกเฉินได้:
#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
วิธีการตีความค่าตารางมีดังนี้:
ผลรวมบรรทัด:
- มีการสั่งซื้อทั้งหมด 4 รายการจากประเทศ A
- มีการสั่งซื้อทั้งหมด 8 รายการจากประเทศ B
- มีการสั่งซื้อทั้งหมด 8 รายการจากประเทศ C
ผลรวมคอลัมน์:
- จัดซื้อคอมพิวเตอร์ จำนวน 6 เครื่อง
- จัดซื้อวิทยุ จำนวน 5 เครื่อง
- ซื้อโทรทัศน์จำนวน 9 เครื่อง
ค่าที่มุมขวาล่างของตารางแสดงว่ามีการสั่งซื้อผลิตภัณฑ์ทั้งหมด 20 รายการจากทุกประเทศ