パンダ: クロス集計の値を並べ替える方法
次のメソッドを使用して、Pandas クロス集計の行または列を並べ替えることができます。
方法 1: クロス集計を行の値で並べ替える
p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 0 , ascending= False )
方法 2: 列の値でクロス集計を並べ替える
p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 1 , ascending= False )
次の例は、次のパンダ クロス集計でこれらの各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #create crosstab to display count of players by team and position my_crosstab = pd. crosstab (df. team , df. position ) #view crosstab print (my_crosstab) FG position team AT 12 B 3 1 C 2 2
例 1: クロス集計を行の値で並べ替える
次の構文を使用して、チーム列の値に基づいてクロス集計行を降順 (Z から A) に並べ替えることができます。
#create crosstab with rows sorted from Z to A p.d. crosstab (df. team , df. position ). sort_index (axis= 0 , ascending= False ) position F G team C 2 2 B 3 1 AT 12
クロス集計行がチーム値によって逆アルファベット順に並べ替えられるようになったことに注意してください。
注: crosstab()関数は、デフォルトでクロスタブ行の値をアルファベット順 (A から Z) に表示します。
例 2: クロス集計を列の値で並べ替える
次の構文を使用して、チーム列の値に基づいてクロス集計列を降順 (Z から A) に並べ替えることができます。
#create crosstab with columns sorted from Z to A p.d. crosstab (df. team , df. position ). sort_index (axis= 1 , ascending= False ) G F position team At 2 1 B 1 3 C 2 2
クロス集計列が位置値によって逆アルファベット順に並べ替えられるようになったことに注意してください。
注: crosstab()関数は、デフォルトでクロス集計列の値をアルファベット順 (A から Z) に表示します。
注: pandascrosstab()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
パンダ: パーセンテージを含むクロス集計を作成する方法
パンダ:crosstab() 関数で aggfunc を使用する方法
パンダ: クロス集計から棒グラフを作成する方法