1

3列のデータフレームがあります:

  • 主題
  • 学校
  • 合格 (True/False、件名の合格)

各行は学生です。各学校について、各学校の合格者の割合を教科別に取得したいと考えています。そこで、行を学校、列を科目、値を端数処理とするピボット テーブルが必要です。

どんな助けでも大歓迎です。

4

1 に答える 1

0

pivot_table()を使用できます:

df.pivot_table(rows='school', values='passed', cols='subject')

デフォルトのfuncパラメータはmeanであるため、オーバーライドする必要はありません。

>>> df = pd.DataFrame({'subject':['CS', 'Biology', 'Math', 'CS', 'CS'], 'school':['Stanford', 'Princeton', 'Stanford', 'Stanford', 'Stanford'], 'passed':[True,True,True,False,False]})
>>> df.pivot_table(rows='school', values='passed', cols='subject')
subject    Biology        CS  Math
school                            
Princeton        1       NaN   NaN
Stanford       NaN  0.333333     1
于 2013-11-05T08:06:25.020 に答える