функция pandas.crosstab () в Python
Этот метод используется для вычисления простой перекрестной таблицы двух (или более) факторов. По умолчанию вычисляет частотную таблицу факторов, если не переданы массив значений и функция агрегирования.
Syntax: pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name=’All’, dropna=True, normalize=False)
Arguments :
- index : array-like, Series, or list of arrays/Series, Values to group by in the rows.
- columns : array-like, Series, or list of arrays/Series, Values to group by in the columns.
- values : array-like, optional, array of values to aggregate according to the factors. Requires `aggfunc` be specified.
- rownames : sequence, default None, If passed, must match number of row arrays passed.
- colnames : sequence, default None, If passed, must match number of column arrays passed.
- aggfunc : function, optional, If specified, requires `values` be specified as well.
- margins : bool, default False, Add row/column margins (subtotals).
- margins_name : str, default ‘All’, Name of the row/column that will contain the totals when margins is True.
- dropna : bool, default True, Do not include columns whose entries are all NaN.
Ниже приведена реализация указанного выше метода с некоторыми примерами:
Пример 1:
Python3
# importing packagesimport pandasimport numpy # creating some dataa = numpy.array(["foo", "foo", "foo", "foo", "bar", "bar", "bar", "bar", "foo", "foo", "foo"], dtype=object) b = numpy.array(["one", "one", "one", "two", "one", "one", "one", "two", "two", "two", "one"], dtype=object) c = numpy.array(["dull", "dull", "shiny", "dull", "dull", "shiny", "shiny", "dull", "shiny", "shiny", "shiny"], dtype=object) # form the cross tabpandas.crosstab(a, [b, c], rownames=["a"], colnames=["b", "c"]) |
Выход :

Example 2 :
Python3
# importing packageimport pandas # create some datafoo = pandas.Categorical(["a", "b"], categories=["a", "b", "c"]) bar = pandas.Categorical(["d", "e"], categories=["d", "e", "f"]) # form crosstab with dropna=True (default)pandas.crosstab(foo, bar) # form crosstab with dropna=Falsepandas.crosstab(foo, bar, dropna=False) |
Выход :

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.