首頁  >  文章  >  後端開發  >  如何根據多列計算 pandas DataFrame 中相同行的頻率?

如何根據多列計算 pandas DataFrame 中相同行的頻率?

Susan Sarandon
Susan Sarandon原創
2024-10-25 02:03:02675瀏覽

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 |

要計算每行的頻率,我們可以將資料框分組通過「Group」和「Size」列,並使用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」的每個組合的頻率計數」和「尺寸」值。例如,輸出可能如下所示:

  Group | Size | Time
--------+------+------
  Moderate | Medium | 1
  Moderate | Small | 1
  Short | Small | 2
  Tall | Large | 1

以上是如何根據多列計算 pandas DataFrame 中相同行的頻率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn