溫馨提示×

Python中crosstab函數(shù)的參數(shù)設(shè)置

小樊
82
2024-08-29 13:31:16
欄目: 編程語言

crosstab 函數(shù)是 pandas 庫中的一個函數(shù),用于創(chuàng)建交叉表格

pandas.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False)

參數(shù)說明:

  • index: 行索引,可以是一個或多個列名。
  • columns: 列索引,可以是一個或多個列名。
  • values: 可選參數(shù),指定計(jì)算值的列。如果不提供,將使用頻數(shù)計(jì)算。
  • rownames: 可選參數(shù),指定行索引的標(biāo)簽。默認(rèn)為 None。
  • colnames: 可選參數(shù),指定列索引的標(biāo)簽。默認(rèn)為 None。
  • aggfunc: 可選參數(shù),指定聚合函數(shù)。默認(rèn)為 numpy.mean
  • margins: 可選參數(shù),布爾值,指示是否添加邊際總數(shù)。默認(rèn)為 False
  • margins_name: 可選參數(shù),指定邊際總數(shù)的標(biāo)簽。默認(rèn)為 'All'。
  • dropna: 可選參數(shù),布爾值,指示是否刪除包含 NaN 值的行和列。默認(rèn)為 True
  • normalize: 可選參數(shù),布爾值或字符串。如果為 True,則對結(jié)果進(jìn)行歸一化。如果為 'index',則按行歸一化。如果為 'columns',則按列歸一化。默認(rèn)為 False

示例:

import pandas as pd

data = {'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)

# 創(chuàng)建一個交叉表格,行索引為 'A',列索引為 'B',計(jì)算值為 'C' 列的平均值
ct = pd.crosstab(index=df['A'], columns=df['B'], values=df['C'], aggfunc='mean')
print(ct)

輸出:

B      one  three  two
A                    
bar    6.5    NaN  3.5
baz    NaN   4.5  NaN
foo    NaN    NaN  4.0

0