NumPy 中的GroupBy 功能
對數據進行分組是數據分析中的一項常見任務,允許您根據特定條件聚合和組織數據。雖然 NumPy 本身並沒有提供專用的分組功能,但您可以採取多種方法來實現此功能。
一種方法是將 np.split() 函數與 np.unique() 結合使用。此方法依賴這樣的假設:用作分組鍵的陣列的第一列始終在增加。按此列對陣列進行排序並取得唯一值,您可以隨後使用 np.split() 將陣列拆分為群組。
例如,給定下列陣列:
array([[1, 275], [1, 441], [1, 494], [1, 593], [2, 679], [2, 533], [2, 686], [3, 559], [3, 219], [3, 455], [4, 605], [4, 468], [4, 692], [4, 613]])
要以第一列對此數組分組,可以使用以下程式碼:
a = a[a[:, 0].argsort()] np.split(a[:,1], np.unique(a[:, 0], return_index=True)[1][1:])
這將產生所需的輸出:
array([[[275, 441, 494, 593]], [[679, 533, 686]], [[559, 219, 455]], [[605, 468, 692, 613]]], dtype=object)
這種方法有幾個優點:
- 它避免了顯式循環的需要,使其更有效率。
- 結果清單是 NumPy數組,允許進一步的 NumPy 操作而無需轉換。
- 它的複雜度為 O(n) (或O(n log(n)) with sorting)。
雖然 NumPy 本身可能沒有特定的分組功能,但上述方法提供了對資料執行分組操作的有效方法,使您能夠有效地組織和分析它。
以上是如果沒有專用函數,如何在 NumPy 中實作 GroupBy 功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

文章討論了由於語法歧義而導致的Python中元組理解的不可能。建議使用tuple()與發電機表達式使用tuple()有效地創建元組。 (159個字符)

本文解釋了Python中的模塊和包裝,它們的差異和用法。模塊是單個文件,而軟件包是帶有__init__.py文件的目錄,在層次上組織相關模塊。

文章討論了Python中的Docstrings,其用法和收益。主要問題:Docstrings對於代碼文檔和可訪問性的重要性。

本文討論了Python中的“ Pass”語句,該語句是函數和類等代碼結構中用作佔位符的空操作,允許在沒有語法錯誤的情況下實現將來實現。

文章在Python中討論 /和//運營商: / for for True Division,//用於地板部門。主要問題是了解它們的差異和用例。 Character數量:158


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

禪工作室 13.0.1
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!