ホームページ  >  記事  >  バックエンド開発  >  Pandas DataFrame の複数の列に基づいて行の頻度をカウントするにはどうすればよいですか?

Pandas DataFrame の複数の列に基づいて行の頻度をカウントするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-25 02:33:02172ブラウズ

How to Count the Frequency of Rows Based on Multiple Columns in a Pandas DataFrame?

複数のデータフレーム列に基づいて頻度カウントを取得する

データフレーム内で複数回出現する行の頻度を確認するには、次を利用できます。 size 関数または count 関数を使用した groupby 操作。これをデータフレームの例で示してみましょう。

import pandas as pd

# Sample dataframe
data = {'Group': ['Short', 'Short', 'Moderate', 'Moderate', 'Tall'], 'Size': ['Small', 'Small', 'Medium', 'Small', 'Large']}
df = pd.DataFrame(data)

オプション 1: groupby と size を使用する

dfg = df.groupby(['Group', 'Size']).size()
print(dfg)

出力:

Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64

オプション 2: groupby、size、reset_index を使用する

dfg = df.groupby(['Group', 'Size']).size().reset_index(name='Time')
print(dfg)

出力:

      Group    Size  Time
0  Moderate  Medium     1
1  Moderate   Small     1
2     Short   Small     2
3      Tall   Large     1

オプション 3: groupby、size、および as_index を使用する

dfg = df.groupby(['Group', 'Size'], as_index=False).size()
print(dfg)

出力:

      Group    Size  Time
0  Moderate  Medium     1
1  Moderate   Small     1
2     Short   Small     2
3      Tall   Large     1

各オプションは、元のデータフレームに表示される特定の行の組み合わせを示す、グループ列とサイズ列を含むデータフレームを返します。追加の時間列には、各組み合わせの頻度カウントが表示されます。

以上がPandas DataFrame の複数の列に基づいて行の頻度をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。