crosstab 函数是 pandas 库中的一个函数,用于创建交叉表格
pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)参数说明:
index: 行索引,可以是一个或多个列名。columns: 列索引,可以是一个或多个列名。values: 可选参数,指定计算值的列。如果不提供,将使用频数计算。rownames: 可选参数,指定行索引的标签。默认为 None。colnames: 可选参数,指定列索引的标签。默认为 None。aggfunc: 可选参数,指定聚合函数。默认为 numpy.mean。margins: 可选参数,布尔值,指示是否添加边际总数。默认为 False。margins_name: 可选参数,指定边际总数的标签。默认为 'All'。dropna: 可选参数,布尔值,指示是否删除包含 NaN 值的行和列。默认为 True。normalize: 可选参数,布尔值或字符串。如果为 True,则对结果进行归一化。如果为 'index',则按行归一化。如果为 'columns',则按列归一化。默认为 False。示例:
import pandas as pddata = {'A': ['foo', 'bar', 'baz', 'foo', 'bar', 'baz'], 'B': ['one', 'two', 'three', 'two', 'one', 'three'], 'C': [2.5, 3.5, 4.5, 5.5, 6.5, 7.5], 'D': [10, 20, 30, 40, 50, 60]}df = pd.DataFrame(data)# 创建一个交叉表格,行索引为 'A',列索引为 'B',计算值为 'C' 列的平均值ct = pd.crosstab(index=df['A'], columns=df['B'], values=df['C'], aggfunc='mean')print(ct)输出:
B one three twoA bar 6.5 NaN 3.5baz NaN 4.5 NaNfoo NaN NaN 4.0 



