エクセルでも便利な機能、ピポットテーブル、またの名をクロス集計を学びます。

元データ:adult.csv

In [1]: import pandas as pd
   ...: data1 = pd.read_csv("adult.csv")
   ...: data1.head()
   ...:
Out[1]:
   age  workclass  fnlwgt     education  educational-num      marital-status  \
0   25    Private  226802          11th                7       Never-married
1   38    Private   89814       HS-grad                9  Married-civ-spouse
2   28  Local-gov  336951    Assoc-acdm               12  Married-civ-spouse
3   44    Private  160323  Some-college               10  Married-civ-spouse
4   18          ?  103497  Some-college               10       Never-married

          occupation relationship   race  gender  capital-gain  capital-loss  \
0  Machine-op-inspct    Own-child  Black    Male             0             0
1    Farming-fishing      Husband  White    Male             0             0
2    Protective-serv      Husband  White    Male             0             0
3  Machine-op-inspct      Husband  Black    Male          7688             0
4                  ?    Own-child  White  Female             0             0

   hours-per-week native-country income
0              40  United-States  <=50K
1              50  United-States  <=50K 2 40 United-States >50K
3              40  United-States   >50K
4              30  United-States  <=50K

pandasのpivot_tableメソッドを利用します。
パラメータ一覧を解説します。
index:縦の列名を指定
columns:横に展開する列名を指定
values:表の中に入れる列名を指定
aggfunc:valuesを集計する関数を指定
fill_value:表の中に欠損値が発生した際に、置換する値を指定

pivot_data = pd.pivot_table(data1,
    index = 'race',
    columns = 'gender',
    values = 'capital-gain',
    aggfunc = 'mean',
    fill_value = 0
)

結果はこのようになります。
この例では、race、genderごとのcapital-gainの平均値を観察することができます。

Out[2]:
gender                  Female         Male
race
Amer-Indian-Eskimo  380.621622   641.768421
Asian-Pac-Islander  587.135397  2027.503992
Black               492.951906   680.668069
Other               920.922581  1021.697211
White               594.816919  1364.602192

aggfuncには、他にも以下の関数が使えます。
sum(合計)
count(データ個数を数える)
max(最大値)
min(最小値)

countではなく、ユニークな個数を数えたい場合は別の書き方をしないといけませんが、それは次回の記事にて。