コメントはまだありません概要pandasのデータフレームを使っていると、別カラムで与えたカテゴリ情報(目的変数やhueと呼ぶほうがしっくりくるかもしれません)ごとに色分けしたヒストグラムを眺めたいシーンがあります。pandasの標準のplot機能やseabornの機能を使ってもなかなか一発では描けません。matplotlibでsubplotsを使えば描けることは分かるのですが、そこまでするのはなんか面倒ですよね。いうことで、pivot_tableを使って、それほど多くない行数で実装する方法をご紹介します。targethistという名称でファンクション化も実施しましたので、併せてご覧ください。targethistの仕様は以下になります。データフレームと目的変数を引数に取るデータフレームの全カラムについて、目的変数の値ごとに色分けしたヒストグラムを描くオプションで保存することができるpandasのplot機能をラッピングしているなお、GitHubでも、ソースコードを公開しています。ソースコード10行程度のコードで簡単に記述することができました。ポイントはpivot_tableを使って、目的変数の値ごとのマルチカラムに整形していることですね。あとは、**kwardsを受けるようにしているので、pandasのplotと同じように使えることです。使用例いつものように、irisのデータを使って検証していきます。pd.read_csv("iris.csv")普通に使うオーソドックに使ってみます。target="Name")以下のようにターゲットごとに色分けされた状態で、各カラムのヒストグラムが出力されました。binやalphaのパラメータを指定するpandasのplotをラップしている点を活用してパラメータを指定します。alpha=0.8)設定値が棒の細かさや色の透過度に反映されていますね。箱ひげ図を描くkindをboxとすれば、箱ひげを出力することも可能です。kind='box')これは地味に便利そうですね。まとめpandasのデータフレームを使って、別カラムで与えたカテゴリ情報に基づき色分けしたヒストグラムを出力するための方法と、そのファンクション(targethist)をご紹介しました。今回は1つ1つの図を出力するだけなので、そのうちlayoutをつけたサブプロット機能も検討したいと思っています。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。プロフィール兵庫県在住の30代データサイエンティスト。Pythonを使った機械学習等によるデータ分析や、ウェブアプリ等のシステム開発に取り組んでいます。