廣播與通用函數
#廣播是 NumPy 的核心概念,它允許將標量或陣列與具有不同形狀的其他陣列執行逐元素操作。通用函數 (ufunc) 是預先定義的函數,應用於陣列的每個元素。透過結合廣播和 ufunc,可以實現高效且簡潔的資料操作。
通用函數範例:
np.multiply(A, B)
np.greater(A, B)
np.sin(x)
進階索引與切片
#進階索引和切片提供了超出標準索引的靈活資料存取方式。布林索引選擇滿足特定條件的元素,而花式索引和進階切片允許使用陣列或清單索引多個軸上的元素。
進階索引範例:
A[A > 5]
A[np.array([0, 2, 4])]
A[::2, 1::2]
#陣列聚合與歸約
聚合函數用於對數組中資料進行分組或匯總。歸約函數將陣列中的元素減少為單一標量值。常見的聚合函數包括:
np.sum()
np.mean()
np.max()
np.min()
排序與唯一值
#排序演算法對陣列的元素進行排序,而唯一值函數傳回陣列中唯一元素的集合。這些功能對於資料分析和資料清理非常有用。
排序範例:
np.sort(x)
np.sort(A, axis=1)
#唯一值範例:
np.unique(A)
np.unique(A, return_counts=True)
#廣播、進階索引和聚合的結合
結合廣播、進階索引和聚合可以實現複雜的資料操作。例如,可以對數組中的特定行或列求和,或對滿足特定條件的元素進行計數。
範例:
np.sum(A, axis=0)
np.mean(A[A > 5])
效能最佳化
透過利用 NumPy 的向量化、廣播和高效的底層實現,可以優化資料運算的效能。其他效能最佳化技巧包括:
其他高階特性
#NumPy 也提供了其他進階特性,例如:
用例
NumPy 的進階技術在各種應用中都有用,包括:
以上是NumPy 進階級:揭秘資料操作的奧秘的詳細內容。更多資訊請關注PHP中文網其他相關文章!