Hướng dẫn how do you create a crosstab in python? - làm thế nào để bạn tạo một bảng chéo trong python?

Mục tiêu công thức

Bạn đã bao giờ cố gắng thực hiện một phân tích các tính năng chéo cho rằng bạn cần tạo cơ sở crosstabs trên các tính năng khác nhau.

Vì vậy, đây là công thức trên chúng ta có thể tạo crosstabs từ một từ điển trong Python.

Làm chủ nghệ thuật làm sạch dữ liệu trong học máy

Mục lục

  • Mục tiêu công thức
    • Bước 1 - Nhập thư viện
    • Bước 2 - Thiết lập dữ liệu
    • Bước 3 - Làm bảng crosstab

Bước 1 - Nhập thư viện

import pandas as pd

Bước 2 - Thiết lập dữ liệu

Bước 2 - Thiết lập dữ liệu

Bước 3 - Làm bảng crosstab

Bước 3 - Làm bảng crosstab

Chúng tôi đã nhập khẩu gấu trúc cần thiết.

  first_name     last_name  age  Comedy_Score  Rating_Score
0    Sheldon        Copper   42             9            25
1        Raj  Koothrappali   38             7            25
2    Leonard    Hofstadter   36             8            49
3     Howard      Wolowitz   41             8            62
4        Amy        Fowler   35             5            70

age         35  36  38  41  42  All
first_name                         
Amy          1   0   0   0   0    1
Howard       0   0   0   1   0    1
Leonard      0   1   0   0   0    1
Raj          0   0   1   0   0    1
Sheldon      0   0   0   0   1    1
All          1   1   1   1   1    5

first_name        Amy  Howard  Leonard  Raj  Sheldon  All
age Comedy_Score                                         
35  5               1       0        0    0        0    1
36  8               0       0        1    0        0    1
38  7               0       0        0    1        0    1
41  8               0       1        0    0        0    1
42  9               0       0        0    0        1    1
All                 1       1        1    1        1    5

first_name                     Amy  Howard  Leonard  Raj  Sheldon  All
age Comedy_Score Rating_Score                                         
35  5            70              1       0        0    0        0    1
36  8            49              0       0        1    0        0    1
38  7            25              0       0        0    1        0    1
41  8            62              0       1        0    0        0    1
42  9            25              0       0        0    0        1    1
All                              1       1        1    1        1    5

pandas.crosstab (index, cột, giá trị = none, rownames = none, colnames = none, aggfunc = none, margins = false, margins_name = 'all', dropna = truecrosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)[source]#

Tính toán một bảng chéo đơn giản của hai (hoặc nhiều) các yếu tố.

Theo mặc định, tính toán một bảng tần số của các yếu tố trừ khi một mảng các giá trị và hàm tổng hợp được truyền.

Tham số IndexArray-like, sê-ri hoặc danh sách các mảng/sê-riindexarray-like, Series, or list of arrays/Series

Giá trị để nhóm theo các hàng.

cột, giống như sê-ri hoặc danh sách các mảngarray-like, Series, or list of arrays/Series

Giá trị để nhóm theo các cột.

giá trị giống như, tùy chọnarray-like, optional

Mảng các giá trị để tổng hợp theo các yếu tố. Yêu cầu AGGFUNC được chỉ định.

Rownamessequence, mặc định không cósequence, default None

Nếu được thông qua, phải khớp với số lượng mảng hàng được truyền.

colnamessequence, mặc định không cósequence, default None

Nếu được thông qua, phải khớp với số mảng cột được truyền.

Aggfuncfunction, tùy chọnfunction, optional

Nếu được chỉ định, cũng yêu cầu các giá trị được chỉ định.

marginsbool, mặc định saibool, default False

Thêm lề hàng/cột (phụ).

margins_namestr, mặc định ‘tất cảstr, default ‘All’

Tên của hàng/cột sẽ chứa tổng số khi lề là đúng.

dropnabool, mặc định đúngbool, default True

Không bao gồm các cột có các mục nhập đều là NAN.

NormalizeBool, {‘Allbool, {‘all’, ‘index’, ‘columns’}, or {0,1}, default False

Bình thường hóa bằng cách chia tất cả các giá trị cho tổng các giá trị.

  • Nếu được thông qua ‘tất cả các thành viên hoặc đúng, sẽ bình thường hóa trên tất cả các giá trị.

  • Nếu được thông qua ‘Index, sẽ bình thường hóa trên mỗi hàng.

  • Nếu được truyền ‘cột, sẽ bình thường hóa trên mỗi cột.

  • Nếu lề là đúng, cũng sẽ bình thường hóa các giá trị ký quỹ.

ReturnSdatAframe

Tab cross của dữ liệu.

Ghi chú

Bất kỳ loạt nào được thông qua sẽ có các thuộc tính tên của chúng được sử dụng trừ khi tên hàng hoặc cột cho bảng xếp hạng chéo được chỉ định.

Bất kỳ đầu vào nào được truyền có chứa dữ liệu phân loại sẽ có tất cả các danh mục của nó được bao gồm trong phân loại chéo, ngay cả khi dữ liệu thực tế không chứa bất kỳ trường hợp nào của một danh mục cụ thể.all of its categories included in the cross-tabulation, even if the actual data does not contain any instances of a particular category.

Trong trường hợp có các chỉ mục chồng chéo, một khung dữ liệu trống sẽ được trả về.

Tham khảo Hướng dẫn sử dụng để biết thêm ví dụ.the user guide for more examples.

Ví dụ

>>> a = np.array(["foo", "foo", "foo", "foo", "bar", "bar",
...               "bar", "bar", "foo", "foo", "foo"], dtype=object)
>>> b = np.array(["one", "one", "one", "two", "one", "one",
...               "one", "two", "two", "two", "one"], dtype=object)
>>> c = np.array(["dull", "dull", "shiny", "dull", "dull", "shiny",
...               "shiny", "dull", "shiny", "shiny", "shiny"],
...              dtype=object)
>>> pd.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])
b   one        two
c   dull shiny dull shiny
a
bar    1     2    1     0
foo    2     2    1     2

Ở đây, C, và F, không được trình bày trong dữ liệu và sẽ không được hiển thị trong đầu ra vì Dropna là đúng theo mặc định. Đặt dropna = false để bảo tồn các danh mục không có dữ liệu.

>>> foo = pd.Categorical(['a', 'b'], categories=['a', 'b', 'c'])
>>> bar = pd.Categorical(['d', 'e'], categories=['d', 'e', 'f'])
>>> pd.crosstab(foo, bar)
col_0  d  e
row_0
a      1  0
b      0  1
>>> pd.crosstab(foo, bar, dropna=False)
col_0  d  e  f
row_0
a      1  0  0
b      0  1  0
c      0  0  0

Làm thế nào để bạn làm một crosstab trong Python?

Bước 1 - Nhập thư viện.Nhập GANDAS dưới dạng PD.....
Bước 2 - Thiết lập dữ liệu.Chúng tôi đã tạo một bộ dữ liệu bằng cách tạo một từ điển với các tính năng và truyền nó thông qua chức năng DataFrame.....
Bước 3 - Làm bảng crosstab ..

Tab cross trong gấu trúc là gì?

Pandas crosstab (), hàm cơ bản crosstab () có hai hoặc nhiều danh sách, sê -ri gandas hoặc cột DataFrame và trả về tần số của mỗi kết hợp theo mặc định.takes two or more lists, pandas series or dataframe columns and returns a frequency of each combination by default.

Sự khác biệt giữa bảng crosstab và pivot là gì?

Với crosstab cơ bản, bạn sẽ phải quay lại chương trình và tạo một crosstab riêng biệt với thông tin về các sản phẩm riêng lẻ.Các bảng Pivot cho phép người dùng lọc qua dữ liệu của họ, thêm hoặc xóa các trường tùy chỉnh và thay đổi diện mạo của báo cáo của họ.Pivot tables let the user filter through their data, add or remove custom fields, and change the appearance of their report.