根據資料框中的公共列值對行進行計數
許多資料集包含特定列具有相同值的重複行。為了分析這些發生的頻率,我們可以採用 DataFrame 分組技巧。
考慮一個由「Group」和「Size」欄位組成的DataFrame:
Group | Size | Time |
---|---|---|
Short | Small | 2 |
Moderate | Medium | 1 |
Moderate | Small | 1 |
Tall | Large | 1 |
GroupBy 和Size
GroupBy 和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) # Group by "Group" and "Size" columns dfg = df.groupby(by=["Group", "Size"]).size()</code>
pandas groupby 函數允許我們根據指定的列對行進行分組。 size 函數提供了一個方便的方法來計算每個組內的行數。
Group Size Moderate Medium 1 Small 1 Short Small 2 Tall Large 1 dtype: int64
此操作將傳回具有下列輸出的Series:
重設索引與選擇性
<code class="python">dfg = df.groupby(by=["Group", "Size"]).size().reset_index(name="Time")</code>
要將Series轉換為帶有計數列的DataFrame,我們可以使用reset_index並為新列指定名稱:
<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中文網其他相關文章!