」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 Pandas DataFrame GroupBy 執行值計數並尋找多列的最大計數?

如何使用 Pandas DataFrame GroupBy 執行值計數並尋找多列的最大計數?

發佈於2024-11-11
瀏覽:576

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame GroupBy 多列進行值計數

在使用Pandas 進行DataFrame 操作時,按多列對資料進行分組可以提供有價值的見解。本文示範如何在兩列分組時對觀察值進行計數,以及確定每個分組的最高計數。

給定一個具有多列的 DataFrame,可以將「groupby」函數套用於對資料進行分組基於特定列。在這裡,我們有一個名為「df」的 DataFrame,有五列:「col1」、「col2」、「col3」、「col4」和「col5」。

import pandas as pd

df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']

按行組計數

來統計每個行組中的觀察數,對所需列使用'groupby' 函數,然後套用'size' 函數。

result = df.groupby(['col5', 'col2']).size()

這將產生一個DataFrame,其中分組的列作為索引,大小作為值。

print(result)

確定最高計數

要確定每個「col2」值的最大計數,請對「col2 」使用「groupby」函數,然後對分組資料套用「max」函數.

result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()

這將產生每個'col2' 值的最大計數的系列。

print(result)

總而言之,在Pandas 中使用'groupby' 和'size' 函數可以提高效率分析和聚合數據,使用戶能夠以各種方式提取有關其數據的見解。

版本聲明 本文轉載於:1729650500如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • Go 中如何在沒有根資料夾的情況下壓縮資料夾內容?
    Go 中如何在沒有根資料夾的情況下壓縮資料夾內容?
    在沒有根文件夾的情況下壓縮文件夾中的內容要求是創建一個包含目錄中文件的ZIP 文件,不包括目錄本身作為提取時的根資料夾。 提供的程式碼片段嘗試透過使用以下內容設定標頭名稱來實現此目的line:header.Name = filepath.Join(baseDir, strings.TrimPrefi...
    程式設計 發佈於2024-11-18
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-18
  • Go 中的 os.File.Write() 是執行緒安全的嗎?
    Go 中的 os.File.Write() 是執行緒安全的嗎?
    os.File.Write()的線程安全注意事項os.File.Write()函數是文件的基本部分在Go 中進行處理,從而能夠將資料寫入檔案。然而,了解這個函數從多個執行緒並發呼叫是否安全是至關重要的。 Go 文件中沒有明確提及 os.File.Write() 的線程安全性。一般來說,只有在明確聲明...
    程式設計 發佈於2024-11-18
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-18
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-18
  • 儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    儘管程式碼有效,為什麼 POST 請求無法擷取 PHP 中的輸入?
    解決PHP 中的POST 請求故障在提供的程式碼片段中:action=''而不是:action="<?php echo $_SERVER['PHP_SELF'];?>";?>"檢查$_POST數組:表單提交後使用var_dump檢查$_POST 陣列的內容。...
    程式設計 發佈於2024-11-18
  • 如何用 JavaScript 就地取代 DOM 元素?
    如何用 JavaScript 就地取代 DOM 元素?
    用 JavaScript 就地取代 DOM 元素取代 DOM 中的元素可能是 Web 開發中的有用技術。例如,如果您想將錨點 () 元素替換為跨度 () 元素,則可以使用 JavaScript 來替換。 取代 DOM 最有效的方法元素到位是利用replaceChild()方法。實作方法如下:取得 D...
    程式設計 發佈於2024-11-18
  • 紫色虛線揭示了網站擴展的哪些內容?
    紫色虛線揭示了網站擴展的哪些內容?
    紫色虛線之謎:揭開可用的擴展空間在網絡開發的複雜領域中,出現了一個奇怪的現象:一條淡紫色虛線,似乎裝飾著某些元素的外圍。這條線有什麼神祕的用途? 答案在於擴展領域。紫色虛線表示元素可以擴展其範圍的可用空間。例如,當應用於文字元素時,它表示文字擴展的潛在邊界。 隨著字元的添加或刪除,此虛線區域的長度會...
    程式設計 發佈於2024-11-18
  • 為什麼我的 MySQLi 查詢只回傳一行,而我期望回傳多行?
    為什麼我的 MySQLi 查詢只回傳一行,而我期望回傳多行?
    確定MySQLi 查詢僅檢索一行的根本原因當遇到MySQLi 查詢儘管期望多行但僅返回一行的問題時,有必要檢查所涉及的代碼。在所提供的情況下,查詢旨在從 sb_buddies 和 sb_users 表中檢索資料。 代碼從兩個表中選擇列,並根據 buddy_requester_id 欄位將它們連接起來...
    程式設計 發佈於2024-11-18
  • 在 Perl 和 Go 中探索密碼強度和數字驗證
    在 Perl 和 Go 中探索密碼強度和數字驗證
    在本文中,我将解决 Perl Weekly Challenge #287 中的两个挑战:加强弱密码和验证数字。我将为这两项任务提供解决方案,展示 Perl 和 Go 中的实现。 目录 加强弱密码 验证数字 结论 加强弱密码 第一个任务是确定使密码更安全所需的最少更改次...
    程式設計 發佈於2024-11-18
  • 如何使用 GopherLight 像專業人士一樣在 Go 中編寫 API
    如何使用 GopherLight 像專業人士一樣在 Go 中編寫 API
    文档 GopherLight 嘿伙计们,首先我要感谢您选择使用我们的项目。尽管他很小,但我们却以极大的热情做到了!要开始使用它,您首先必须安装 go,我们假设您已经安装了它。然后安装框架的主要模块,分别是req和router go get github.com/BrunoCicca...
    程式設計 發佈於2024-11-18
  • 如何使用不同單位的無單位 CSS 變數?
    如何使用不同單位的無單位 CSS 變數?
    如何靈活地使用無單位CSS 變數無單位CSS 變數提供了儲存數值的能力,這些數值可以在整個樣式表中方便使用。然而,可能會出現這樣的情況:您希望在不同的上下文中使用相同的變量,需要不同的單位,例如百分比或像素。 這種困境的一個例子是設定一個值為 10 的 CSS 變量,但是需要在一個實例中將其用作百分...
    程式設計 發佈於2024-11-18
  • 當 #await 區塊在 Svelte(Kit) 中解析時執行函數
    當 #await 區塊在 Svelte(Kit) 中解析時執行函數
    跳至内容: 关于 svelte 中的 #await 块 当 #await 块解析或拒绝时运行(触发)函数 修复浏览器中显示的未定义或任何返回的文本 1. 方法一(返回空字符串): 2. 方法二(用CSS隐藏UI中函数返回的文本。) PS:需要雇用 SvelteKit 开发人员吗?联系我 ...
    程式設計 發佈於2024-11-18
  • 一個 Java 檔案中可以有多個類別嗎?
    一個 Java 檔案中可以有多個類別嗎?
    Java 檔案中的多個類別在 Java 中,單一 .java 檔案中可以有多個類別。不過,公共頂級類別只能有一個,而且必須與原始檔案同名。 一個文件中有多個類別的目的是為了組織邏輯上相關的程式碼。這些類別通常包括公共頂級類別的支援功能,例​​如內部資料結構或實用方法。透過將它們捆綁在一起,您可以將相...
    程式設計 發佈於2024-11-18
  • 如何有效測試PDO資料庫連線並處理錯誤?
    如何有效測試PDO資料庫連線並處理錯誤?
    測試PDO資料庫連線開發資料庫安裝時,確保資料庫連線的有效性至關重要。當嘗試建立預設設定時,這一點變得尤為重要。 PDO(PHP 資料物件)提供了一種測試有效和無效連接的有效方法。 驗證連線若要使用PDO 連線至MySQL 資料庫,語法為:$dbh = new pdo('mysql:host=127...
    程式設計 發佈於2024-11-18

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3