Pandas DataFrame の共通の列値に基づいて行をカウントするにはどうすればよいですか?

DDD
リリース: 2024-10-26 08:01:02
オリジナル
603 人が閲覧しました

How to Count Rows Based on Common Column Values in a Pandas DataFrame?

データフレーム内の共通の列値に基づいて行をカウントする

多くのデータセットには、特定の列に同一の値を持つ重複した行が含まれています。これらの発生頻度を分析するには、DataFrame のグループ化手法を使用できます。

「Group」列と「Size」列で構成される DataFrame を考えます:

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

GroupBy と Size

パンダの groupby 関数を使用すると、指定された列に基づいて行をグループ化できます。サイズ関数は、各グループ内の行数をカウントする便利な方法を提供します。

<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)

# Group by "Group" and "Size" columns
dfg = df.groupby(by=["Group", "Size"]).size()</code>
ログイン後にコピー

この操作は、次の出力を持つ Series を返します:

Group     Size
Moderate  Medium    1
          Small     1
Short     Small     2
Tall      Large     1
dtype: int64
ログイン後にコピー

Resetインデックスとオプション

シリーズをカウントの列を持つ DataFrame に変換するには、reset_index を使用して新しい列の名前を指定します。

<code class="python">dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")</code>
ログイン後にコピー

さらに、特定のニーズに応じて、as_index パラメーターを使用して groupby 関数のバリエーションを使用できます。

<code class="python"># Option 1: Explicitly set index to True
dfg = df.groupby(by=["Group", "Size"], as_index=True).size()

# Option 2: Leave index unchanged (default)
dfg = df.groupby(by=["Group", "Size"]).size()

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

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

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