Python Pandas - Indexオブジェクトから一意の値の出現回数を含むSeriesを返す方法
PandasのIndexオブジェクトから一意の値(ユニークな値)の出現回数を含むSeriesを取得するには、index.value_counts()メソッドを使用します。このメソッドは、各一意の値がIndex内に何回出現するかを集計したSeriesを返します。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。
import pandas as pd
Indexオブジェクトの作成
Pandasのインデックスを作成します。ここでは、重複を含む整数値のリストを使用しています。
index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])
作成したインデックスを表示して確認しましょう。
print("Pandas Index...\n", index)
value_counts()で一意の値をカウント
value_counts()メソッドを呼び出すことで、各一意の値の出現回数を取得できます。
print("\n一意の値の出現回数を取得...\n", index.value_counts())
完全なサンプルコード
以下に、これまでの手順をまとめた完全なコード例を示します。
import pandas as pd
# Pandasインデックスを作成
index = pd.Index([50, 10, 70, 110, 90, 50, 110, 90, 30])
# Pandasインデックスを表示
print("Pandas Index...\n", index)
# インデックス内の要素数を返す
print("\nインデックスの要素数...\n", index.size)
# データのdtype(データ型)を返す
print("\ndtypeオブジェクト...\n", index.dtype)
# 一意の値の出現回数を取得
print("\n一意の値の出現回数...\n", index.value_counts())
実行結果
上記のコードを実行すると、以下のような出力が得られます。
Pandas Index... Int64Index([50, 10, 70, 110, 90, 50, 110, 90, 30], dtype='int64') Number of elements in the index... 9 The dtype object... int64 Get the count of unique values... 50 2 110 2 90 2 10 1 70 1 30 1 dtype: int64
実行結果のポイント
- 50、110、90はそれぞれ2回出現しているため、カウントは「2」となっています。
- 10、70、30は1回しか出現していないため、カウントは「1」です。
- 結果のSeriesは、出現回数の多い順(降順)に並べ替えられて返されます。
- 要素数はindex.sizeで9個、データ型はint64であることも確認できます。
このように、value_counts()メソッドを使えば、Indexオブジェクト内の値の分布を簡単に把握できます。データ分析において、カテゴリカルデータの出現頻度を調べたい場合などに非常に便利な機能です。
-
Python Pandas入門:DataFrameの列から一意の値を取得・カウントする方法
PandasのDataFrameから特定の列の一意(ユニーク)な値を取得したい場合はunique()メソッドを使用します。また、一意な値の個数を数えたい場合はnunique()メソッドを使用します。この記事では、サンプルデータを使いながら、両メソッドの基本的な使い方を解説します。1. ライブラリのインポートまず、必要なライブラリをインポートします。import pandas as pd2. サンプルDataFrameの作成次に、「Car」「Place」「Units」の3つの列を持つDataFrameを作成します。このデータには重複した値が含まれている点に注目してください。dataFrame =
-
【Python Pandas】複数の列から一意の値(ユニークな値)を抽出する方法
はじめにPythonのPandasで複数の列から一意の値(ユニークな値)を取得したい場合は、unique()メソッドを使用します。例えば、従業員データを管理するDataFrameに「EmpName(氏名)」と「Zone(担当エリア)」という2つの列があるとしましょう。同じ名前の従業員が存在したり、1つのエリアに複数の従業員が所属したりすることはよくあります。このように値が重複しがちなデータの中から、重複を除いた一意の従業員名やエリア名だけを取り出したいときに、unique()が非常に便利です。必要なライブラリのインポートまず、Pandasをインポートします。ここでは慣例に従い、「pd」という別