如何根據特定列將 NumPy 陣列元素分組?
Dec 03, 2024 am 11:37 AMNumPy 中的 Group by Function
NumPy 提供了多個用於陣列運算的函數,包括將元素分組的運算。其中一個操作是 groupby,它允許您根據指定的鍵對陣列中的元素進行分組。
特定問題
考慮以下數組 a:
a = 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 中的元素分組。在這種情況下,您期望輸出為:
array([[[275, 441, 494, 593]], [[679, 533, 686]], [[559, 219, 455]], [[605, 468, 692, 613]]], dtype=object)
登入後複製
解決方案
雖然 NumPy 中沒有直接的 groupby函數,但可以實現此目的使用以下方法:
# Sort the array by the first column a = a[a[:, 0].argsort()] # Find the unique values in the first column as keys keys = np.unique(a[:, 0]) # Create an array to hold the grouped elements grouped = [] # Iterate through the keys for key in keys: # Create a mask to select elements with the given key mask = (a[:, 0] == key) # Append the selected elements to the grouped array grouped.append(a[mask][:, 1])
登入後複製
此解決方案根據第一列有效地對數組中的元素進行分組,甚至儘管它沒有明確使用 groupby 函數。
以上是如何根據特定列將 NumPy 陣列元素分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

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

Dreamweaver CS6
視覺化網頁開發工具

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