Python-pandas-categorical-data
Pythonパンダ-カテゴリーデータ
多くの場合、リアルタイムでは、データにはテキスト列が含まれますが、これは反復的です。 性別、国、コードなどの機能は常に繰り返されます。 これらは、カテゴリデータの例です。
カテゴリー変数は、限られた、通常は固定数の可能な値のみを取ります。 固定長に加えて、カテゴリデータには順序がありますが、数値演算を実行できません。 カテゴリーはパンダのデータ型です。
カテゴリーのデータ型は、次の場合に便利です-
- 少数の異なる値のみで構成される文字列変数。 このような文字列変数をカテゴリ変数に変換すると、メモリを節約できます。
- 変数の字句順序は、論理順序と同じではありません(「1」、「2」、「3」)。 カテゴリに変換し、カテゴリの順序を指定することにより、並べ替えと最小/最大は、語彙の順序ではなく論理的な順序を使用します。
- この列をカテゴリ変数として扱う必要があるという他のpythonライブラリへのシグナルとして(例: 適切な統計手法またはプロットタイプを使用します)。
オブジェクト作成
カテゴリオブジェクトは複数の方法で作成できます。 さまざまな方法が以下に説明されています-
カテゴリー
pandasオブジェクト作成でdtypeを「category」として指定します。
その*出力*は次のとおりです-
シリーズオブジェクトに渡される要素の数は4ですが、カテゴリは3つだけです。 出力カテゴリで同じことを確認します。
pd.Categorical
標準のパンダカテゴリコンストラクタを使用して、カテゴリオブジェクトを作成できます。
例を見てみましょう-
その*出力*は次のとおりです-
別の例を見てみましょう-
その*出力*は次のとおりです-
ここで、2番目の引数はカテゴリを示します。 したがって、カテゴリに存在しない値は NaN として扱われます。
今、次の例を見てみましょう-
その*出力*は次のとおりです-
論理的に、順序は、 a が b より大きく、 b が c より大きいことを意味します。
説明
カテゴリデータで* .describe()コマンドを使用すると、 *type 文字列の Series または DataFrame に同様の出力が得られます。
その*出力*は次のとおりです-
カテゴリのプロパティを取得する
その*出力*は次のとおりです-
その*出力*は次のとおりです-
順序を指定していないため、関数は false を返しました。
カテゴリの名前を変更する
カテゴリの名前を変更するには、* series.cat.categories * series.cat.categoriesプロパティに新しい値を割り当てます。
その*出力*は次のとおりです-
初期カテゴリ [a、b、c] は、オブジェクトの s.cat.categories プロパティによって更新されます。
新しいカテゴリの追加
Categorical.add.categories()メソッドを使用して、新しいカテゴリを追加できます。
その*出力*は次のとおりです-
カテゴリを削除する
- Categorical.remove_categories()*メソッドを使用すると、不要なカテゴリを削除できます。
その*出力*は次のとおりです-
カテゴリデータの比較
カテゴリデータを他のオブジェクトと比較することは、次の3つの場合に可能です-
- 等しい(==および!=)をリストのようなオブジェクト(リスト、シリーズ、配列、…)と比較する カテゴリデータと同じ長さ。
- 別のカテゴリデータとのすべての比較(==、!=、>、> =、<、および⇐) categorical Series、ordered == Trueの場合、カテゴリは同じです。
- カテゴリカルデータとスカラーのすべての比較。
次の例を見てください-
その*出力*は次のとおりです-