パンダ: クロス集計から棒グラフを作成する方法
次のメソッドを使用して棒グラフを作成し、Pandas クロス集計のカウントを視覚化できます。
方法 1: 集合棒グラフを作成する
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ')
方法 2: 積み上げ棒グラフを作成する
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ', stacked= True )
次の例は、次のパンダ クロス集計でこれらの各メソッドを実際に使用する方法を示しています。
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: クロス集計からグループ化された棒グラフを作成する
次の構文を使用して、クロス集計からグループ化された棒グラフを作成できます。
import matplotlib. pyplot as plt #create grouped bar plot my_crosstab. plot (kind=' bar ', rot= 0 )
注: rot=0引数は、読みやすくするために X 軸ラベルを 90 度回転します。
X 軸にはチーム名が表示され、グループ化されたバーには各ポジションの頻度数が表示されます。
たとえば、次のことがわかります。
- チームAにはポジションFの選手が1人います。
- チームAにはポジションGの選手が2人います。
等々。
例 2: クロス集計から積み上げ棒グラフを作成する
次の構文を使用して、クロス集計から積み上げ棒グラフを作成できます。
import matplotlib. pyplot as plt #create stacked bar plot my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 )
注: stacked=True引数を使用すると、グループ化棒グラフの代わりに積み上げ棒グラフを作成できます。
X 軸にはチーム名が表示され、積み上げ棒には各ポジションの頻度数が表示されます。
たとえば、次のことがわかります。
- チームAにはポジションFの選手が1人います。
- チームAにはポジションGの選手が2人います。
- チームAには合計3人の選手がいます。
等々。
このタイプのプロットは、X 軸上の各一意の値の項目の合計数を視覚化する場合に特に便利です。
注: pandascrosstab()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、他の一般的なパンダのタスクを実行する方法について説明します。
パンダ: パーセンテージを含むクロス集計を作成する方法
パンダ:crosstab() 関数で aggfunc を使用する方法
パンダ: 棒グラフの棒に注釈を付ける方法