Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pandasのvalue_counts()で値の名前と出現回数(カウント)を抽出する方法

Pandasのvalue_counts()メソッドを使うと、SeriesやDataFrameの各列に含まれる一意な値とその出現回数(カウント)を簡単に抽出できます。戻り値は、出現回数が多い順にソートされたSeriesとして返されます。

サンプルDataFrameの作成

まず、4つの列を持つDataFrameを作成しましょう。

import pandas as pd

dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
    "Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
    "Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
    "Units Sold": [200, 120, 150, 120, 210, 250, 220]
})

特定の列から値の名前とカウントを取得する

例えば、「Car」列に含まれる値の名前と出現回数を取得するには、次のように記述します。

res = dataFrame['Car'].value_counts()

同様に、「Units Sold」列の場合は以下のようになります。

res = dataFrame['Units Sold'].value_counts()

完全なコード例

以下に、ここまでの処理をまとめた完全なコードを示します。

import pandas as pd

# DataFrameの作成
dataFrame = pd.DataFrame({
    "Car": ['BMW', 'Mustang', 'Tesla', 'Mustang', 'Mercedes', 'Tesla', 'Audi'],
    "Cubic Capacity": [2000, 1800, 1500, 2500, 2200, 3000, 2000],
    "Reg Price": [7000, 1500, 5000, 8000, 9000, 6000, 1500],
    "Units Sold": [200, 120, 150, 120, 210, 250, 220]
})

print("DataFrame ...\n", dataFrame)

# Car列の値の名前とカウントを表示
res = dataFrame['Car'].value_counts()
print("\nCar列の値の名前と出現回数:\n", res)

# Units Sold列の値の名前とカウントを表示
res = dataFrame['Units Sold'].value_counts()
print("\nUnits Sold列の値の名前と出現回数:\n", res)

実行結果

上記のコードを実行すると、以下のような出力が得られます。

DataFrame ...
        Car  Cubic Capacity  Reg Price  Units Sold
0      BMW            2000       7000         200
1  Mustang            1800       1500         120
2    Tesla            1500       5000         150
3  Mustang            2500       8000         120
4 Mercedes            2200       9000         210
5    Tesla            3000       6000         250
6     Audi            2000       1500         220

Car列の値の名前と出現回数:
Mustang     2
Tesla       2
Audi        1
BMW         1
Mercedes    1
Name: Car, dtype: int64

Units Sold列の値の名前と出現回数:
120    2
150    1
220    1
210    1
250    1
200    1
Name: Units Sold, dtype: int64

このように、value_counts()を使えば、指定した列内の各値が何回出現したかを一目で確認できます。カテゴリカルデータの分布把握や、重複データの調査などに非常に便利なメソッドです。

  1. 【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方

    PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存

  2. 【Python】datetimeオブジェクトから月と日だけを抽出して表示する方法

    Pythonでdatetimeオブジェクト(日時データ)から「月」と「日」だけを抽出してグラフに表示したい場合、matplotlibが提供するDateFormatter()クラスを利用すると簡単に実現できます。この記事では、実際のコード例とともに具体的な手順をわかりやすく解説します。実装の手順図(figure)のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。2次元のサイズ変更可能な表形式データを持つデータフレームdfを作成します。figureとサブプロットの一式を作成します。plot()メソッドを使ってデータフレームをプロットします。X軸のフォーマッターを設定し、月