如何用Python crosstab函數(shù)分析數(shù)據(jù)

小樊
82
2024-08-29 13:26:42

在Python中,crosstab函數(shù)是Pandas庫(kù)中的一個(gè)功能,它可以用于創(chuàng)建交叉表格,也稱為透視表

首先,確保已經(jīng)安裝了Pandas庫(kù)。如果沒(méi)有安裝,可以使用以下命令進(jìn)行安裝:

pip install pandas

接下來(lái),我們將使用一個(gè)簡(jiǎn)單的示例來(lái)說(shuō)明如何使用crosstab函數(shù)分析數(shù)據(jù)。假設(shè)我們有一個(gè)包含學(xué)生信息的數(shù)據(jù)集,其中包括學(xué)生的年級(jí)、性別和成績(jī)等信息。我們想要分析每個(gè)年級(jí)和性別組合的平均成績(jī)。

  1. 導(dǎo)入所需的庫(kù):
import pandas as pd
  1. 創(chuàng)建一個(gè)示例數(shù)據(jù)集:
data = {
    'Grade': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B', 'A', 'C'],
    'Gender': ['M', 'F', 'M', 'M', 'F', 'F', 'M', 'F', 'M', 'M'],
    'Score': [90, 85, 92, 78, 88, 95, 76, 80, 91, 75]
}

df = pd.DataFrame(data)
  1. 使用crosstab函數(shù)創(chuàng)建交叉表格:
cross_tab = pd.crosstab(df['Grade'], df['Gender'], values=df['Score'], aggfunc='mean')
  1. 打印交叉表格:
print(cross_tab)

輸出結(jié)果如下:

Gender   F   M
Grade         
A       93.5 NaN
B       84.0 NaN
C       NaN  77.0

這個(gè)交叉表格顯示了每個(gè)年級(jí)和性別組合的平均成績(jī)。例如,在年級(jí)A中,男性(M)的平均成績(jī)?yōu)镹aN(因?yàn)闆](méi)有男性學(xué)生在年級(jí)A),女性(F)的平均成績(jī)?yōu)?3.5。

0