Hướng dẫn how do you create a cross table in python? - làm thế nào để bạn tạo 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

Bài Viết Liên Quan

Chủ Đề