pandas Python データ分析

【Python】pandas-profilingのprofile_report()の型推論の初期設定を変更する方法

この記事は約3分で読めます。

 

こんにちは、ミナピピン(@python_mllover)です。

 

MENTAの案件でpandas-profilingのprofile_report()でデータフレームを自動分析した際に連続の数値として所為したいものがカテゴリ変数として処理されるのを変更したいという依頼を受けて調査したのでその結果をここにまとめておきます。

 

pandas-profilingのインストールと基本的な使い方

https://github.com/pandas-profiling/pandas-profiling

 

 

関連記事:【Python】Pandas-ProfilingとPixiedustでデータをGUIみたいに可視化する

 

 

スポンサーリンク
スポンサーリンク

CategoricalとNumericの判定について

 

gitのissueを見たところ、pandas-profilingのprofile_report()では個別の値のしきい値を定義できます。このしきい値を下回ると、変数は分析の観点からより意味をなす可能性があるため、カテゴリとして扱うという処理になるようです。この閾値より下の場合データ型をlamdaとかでintからfloatに変えるみたいな処理をしても意味はないみたいです。

 

閾値の変更は引数のvars.num.low_categorical_threshold で設定します。ここで設定した閾値以上の分類にある場合、カテゴリーから連続数値として処理されるようになります。0にすると全てが連続数値として処理されるようになります。

 

実際にコードにすると↓のような感じ

 

df.profile_report(vars={
        "num": {"low_categorical_threshold": 0},
        "cat": {
            "length": True,
            "characters": False,
            "words": False,
            "n_obs": 5,
        },
    })

 

 

profile_reportには他にもいろんな設定があります。

 

他の設定については以下参照↓

Advanced Usage — pandas-profiling 3.0.0 documentation

 

 

 

コメント

タイトルとURLをコピーしました