Hướng dẫn how do you do a cross tabulation in python? - làm thế nào để bạn thực hiện một bảng chéo trong python?

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 tạo một bảng chéo trong Python?

Bắt đầu quá trình..
nhập khẩu gấu trúc dưới dạng nhập khẩu pd seeborn như SNS ..
PD.crosstab (df. make, df. body_style).
DF.Groupby (['make', 'body_style']) ['body_style'].đếm().unstack ().Fillna (0).
DF.pivot_table (index = 'make', cột = 'body_style', aggfunc = {'body_style': len}, fill_value = 0).

Làm thế nào để bạn hiển thị tỷ lệ phần trăm trong crosstab Python?

Nếu chỉ có một biện pháp trong crosstab, hãy nhấp vào góc Crosstab., nhấp vào Hiển thị giá trị AS và nhấp vào các giá trị phần trăm mà bạn muốn hiển thị.click the crosstab corner. , click Show Value As, and click the percentage values that you want to show.

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.