ホームページ > バックエンド開発 > Python チュートリアル > 複数の列に基づいてパンダデータフレーム内の同一行の頻度をカウントするにはどうすればよいですか?

複数の列に基づいてパンダデータフレーム内の同一行の頻度をカウントするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-25 02:03:02
オリジナル
778 人が閲覧しました

How can I count the frequency of identical rows in a pandas DataFrame based on multiple columns?

複数のデータフレーム列から頻度カウントを取得する

データフレーム内の同一行の頻度を判断するには、groupby() メソッドを利用できます。 size() 関数を使用します。この手法を使用すると、複数の列にわたる値の一意の組み合わせの出現をカウントできます。

次のデータフレームを考えてみましょう:

   Group | Size |
---------+------+
   Short | Small |
   Short | Small |
   Moderate | Medium |
   Moderate | Small |
   Tall | Large |
ログイン後にコピー

各行の頻度をカウントするには、データフレームをグループ化します。 「グループ」列と「サイズ」列を基準にして、size() 関数を使用して各行が表示される回数を決定します。

<code class="python">import pandas as pd

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

# Option 1:
dfg = df.groupby(by=["Group", "Size"]).size()

# Option 2: Reset the index to convert the Series to a DataFrame
dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")

# Option 3: Use as_index=False to create a DataFrame without an index
dfg = df.groupby(by=["Group", "Size"], as_index=False).size()</code>
ログイン後にコピー

結果のデータフレームは、「グループ」の各組み合わせの頻度カウントを提供します。 「」と「サイズ」の値。たとえば、出力は次のようになります:

  Group | Size | Time
--------+------+------
  Moderate | Medium | 1
  Moderate | Small | 1
  Short | Small | 2
  Tall | Large | 1
ログイン後にコピー

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート