データフレーム内の共通の列値に基づいて行をカウントする
多くのデータセットには、特定の列に同一の値を持つ重複した行が含まれています。これらの発生頻度を分析するには、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 サイトの他の関連記事を参照してください。