此方法用于计算两个(或更多个)因子的简单cross-tabulation。默认情况下,除非传递值数组和聚合函数,否则将计算因子的频率表。
用法: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,系列或数组/系列的列表,要在行中进行分组的值。
- columns:array-like,系列,或数组/系列的列表,要在列中分组的值。
- values:array-like,可选的值数组,根据因子进行汇总。要求指定`aggfunc`。
- rownames:序列,默认为无,如果传递,则必须与传递的行数组数匹配。
- colnames :sequence,默认为None,如果传递,则必须与传递的列数组数匹配。
- aggfunc:函数,可选,如果指定,则还需要指定`values`。
- margins:bool,默认为False,添加行/列边距(小计)。
- margins_name:str,默认为“全部”,边距为True时将包含总计的行/列的名称。
- dropna:bool,默认为True,不包括所有条目均为NaN的列。
下面是上述方法的实现和一些示例:
范例1:
Python3
# importing packages
import pandas
import numpy
# creating some data
a = 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 tab
pandas.crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])
输出:
范例2:
Python3
# importing package
import pandas
# create some data
foo = 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=False
pandas.crosstab(foo, bar, dropna=False)
输出:
相关用法
- Python Wand function()用法及代码示例
- Python Sorted()用法及代码示例
- Python Numbers choice()用法及代码示例
- Python Tkinter askopenfile()用法及代码示例
- Python ord()用法及代码示例
- Python sum()用法及代码示例
- Python round()用法及代码示例
- Python id()用法及代码示例
- Python vars()用法及代码示例
注:本文由纯净天空筛选整理自deepanshu_rustagi大神的英文原创作品 pandas.crosstab() function in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。