この続きで、今回は集計ではなく分布などを確認するヒストグラム、箱ひげ、散布図です。
ヒストグラム
plot.hist
とhist
で挙動やパラメータが違うようです。(ややこしい!)
さらにsubplots
,groupby
,by
によって表示が変わります
#列ごとにヒストグラムを表示 iris.plot.hist(subplots=True) #あるカテゴリでわけた後に列を色を変えてヒストグラムを表示 iris.groupby('Species').plot.hist(alpha=0.5) #ある変量をカテゴリごとに色分けしてヒストグラムを表示 iris.groupby('Species')['sepal length (cm)'].plot.hist(alpha=0.5) #カテゴリでグラフを分けて、ある変量のヒストグラムを表示 iris[['Species','sepal length (cm)']].hist(by='Species') #iris.hist(by='Species',column='sepal length (cm)')
変量ごとにグラフを分けて、その中でカテゴリごとに色違いのヒストグラムを出す、はできないようです。
箱ひげ図
#一つのグラフないに列ごとの箱を表示 iris.boxplot() #iris.plot.box() #複数のグラフに一つ一つの列の箱を表示 iris.plot.box(subplots=True) #カテゴリごとにグラフをつくり、列ごとの箱を表示 iris.groupby('Species').boxplot() #列ごとにグラフをつくり、カテゴリで箱を表示 iris.boxplot(by='Species') #一つの列対し、カテゴリごとの箱を表示 iris.boxplot(by='Species',column='petal length (cm)')
散布図
iris.plot.scatter(x='sepal length (cm)',y='sepal width (cm)') #forなしでカテゴリーごとに色を変える iris.assign(c=pd.factorize(iris['Species'])[0]).plot.scatter(x='sepal length (cm)',y='sepal width (cm)',c='c',colormap='winter') #カテゴリーごとにグラフを変え、第三変数で色を変える iris.groupby('Species').plot.scatter(x='sepal length (cm)',y='sepal width (cm)',c='petal width (cm)') #大きさまでは変えられない #iris.groupby('Species').plot.scatter(x='sepal length (cm)',y='sepal width (cm)',c='petal width (cm)',s='petal length (cm)') #量が多い時はhexbinが使える iris.plot.hexbin(x='sepal length (cm)',y='sepal width (cm)',gridsize=10) #カテゴリでグラフを分けてhexbin #なお別の画像扱いになるため下記ではsetosaのみ iris.groupby('Species').plot.hexbin(x='sepal length (cm)',y='sepal width (cm)',gridsize=10)