Computer >> Máy Tính >  >> Lập trình >> Python

Bảng dự phòng trong Python

Bảng dự phòng là bảng hiển thị sự phân bố của một biến trong các hàng và một biến khác trong các cột. Nó được sử dụng để nghiên cứu mối tương quan giữa hai biến. Nó là một bảng đa chiều mô tả một tập dữ liệu trong đó mỗi quan sát thuộc về một loại cho mỗi biến trong số một số biến. Ngoài ra Về cơ bản, nó là một phép đếm giữa hai hoặc nhiều biến phân loại. Bảng dự phòng còn được gọi là bảng chéo hoặc bảng hai chiều, được sử dụng trong thống kê để tóm tắt mối quan hệ giữa một số biến phân loại.

Hệ số dự phòng là một hệ số kết hợp cho biết liệu hai biến hoặc tập dữ liệu có độc lập hay phụ thuộc vào nhau hay không, Nó còn được gọi là Hệ số Pearson's

Ví dụ

Trong ví dụ dưới đây, chúng tôi lấy tập dữ liệu về hoa iris để phân tích. Bộ dữ liệu này bao gồm 50 mẫu từ mỗi loài trong số ba loài Iris (Iris setosa, Iris virginica và Iris versicolor). Bốn đặc điểm được đo từ mỗi mẫu:chiều dài và chiều rộng của các lá đài và cánh hoa, tính bằng cm. Chúng tôi sẽ tạo ra mô hình dự phòng về các đặc điểm này sẽ được sử dụng cuối cùng để phân biệt các loài với nhau.

Đọc tập dữ liệu

Ví dụ

 import numpy as npimport pandas as pddatainput =pd.read_csv ("iris.csv") print (datainput.head (5)) 

Chạy đoạn mã trên cho chúng ta kết quả sau:

 SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species0 5.1 3.5 1.4 0.2 Iris-setosa1 4.9 3.0 1.4 0.2 Iris-setosa2 4.7 3.2 1.3 0.2 Iris-setosa3 4.6 3.1 1.5 0.2 Iris-setosa4 5.0 3.6 1.4 0.2 Iris-setosa 

Thống kê chung về dữ liệu

Tiếp theo, chúng tôi thu thập các thống kê chung của dữ liệu bằng cách sử dụng hàm description (). CNTT đưa ra ý tưởng về giá trị trung bình và các phần tư khác nhau về cách dữ liệu được phân phối.

Ví dụ

 import numpy as npimport pandas as pddatainput =pd.read_csv ("iris.csv") print (datainput.describe ()) 

Chạy đoạn mã trên cho chúng ta kết quả sau:

 SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCmcount 150.000000 150.000000 150.000000 150.000000mean 5,843333 3,054000 3,758667 0,828066 0,433594 1,764420 1.198667std 0.763161min 4,300000 2,000000 1,000000 0,10000025% 5,100000 2,800000 1,600000 0,30000050% 5,800000 3,000000 4,350000 1,30000075% 6,400000 3,300000 5,100000 1.800000max 7,900000 4,400000 6,900000 2,500000 

Loại dữ liệu

Tiếp theo, chúng tôi quan sát các kiểu dữ liệu khác nhau của các cột trong khung dữ liệu.

Ví dụ

 import numpy as npimport pandas as pddatainput =pd.read_csv ("iris.csv") print (datainput.dtypes) 

Chạy đoạn mã trên cho chúng ta kết quả sau:

 SepalLengthCm float64SepalWidthCm float64PetalLengthCm float64PetalWidthCm float64Species objectdtype:object 

Tạo bảng dự phòng

Bây giờ chúng ta tạo một bảng dự phòng cho cột hiển thị chiều rộng cánh hoa cho từng loài. Đối với điều này, chúng tôi sử dụng hàm chéo bảng có sẵn trong gấu trúc và đặt tên của các cột kéo này làm đầu vào.

Ví dụ

 import numpy as npimport pandas as pddatainput =pd.read_csv ("iris.csv") width_species =pd.crosstab (datainput ['PetalWidthCm'], datainput ['Species'], margins =False) print (width_species) 

Chạy đoạn mã trên cho chúng ta kết quả sau:

 Loài Iris-setosa Iris-versicolor Iris-virginicaPetalWidthCm0.1 6 0 00.2 28 0 00.3 7 0 01.0 0 7 01.1 0 3 01.2 0 5 01.8 0 1 111.9 0 0 52.0 0 0 62.1 0 0 62.5 0 0 3  

Bảng dự phòng nhiều biến thể

Trong trường hợp này, chúng tôi sử dụng nhiều hơn hai cột để tạo bảng dự phòng. Ở đây chúng tôi sử dụng cả chiều dài cánh hoa và chiều rộng cánh hoa cho từng loại loài.

 import numpy as npimport pandas as pddatainput =pd.read_csv ("iris.csv") length_width_species =pd.crosstab ([datainput.PetalLengthCm, datainput.PetalWidthCm], datainput.Species, margins =False) print / pre> 

Chạy đoạn mã trên cho chúng ta kết quả sau:

 Loài Iris-setosa Iris-versicolor Iris-virginicaPetalLengthCm PetalWidthCm1.0 0.2 1 0 01.1 0.1 1 0 01.2 0.2 2 0 01.3 0.2 4 0 00.3 2 0 0 ... ... ... ... 6.4 2.0 0 0 16,6 2,1 0 0 16,7 2,0 0 0 12,2 0 0 16,9 2,3 0 0 1