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

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

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

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 サイトの他の関連記事を参照してください。

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