【Numpy學習08】陣列迭代
前言
除了for迴圈,Numpy 還提供另外一種更為優雅的遍歷方法。
apply_along_axis(func1d, axis, arr)
Apply a function to 1-D slices along the given axis.
第一個引數是要執行的函式,第二個引數是遍歷的維度,第三個引數是要遍歷的資料
1.採用系統函式迭代
>>> a = np.random.randint(0,10,(5,5))
>>> print(a)
[[6 8 7 0 5]
[3 4 4 3 7]
[6 0 4 2 4]
[3 9 8 4 8]
[8 9 3 5 7]]
>>> b = np.apply_along_axis(np.sum, 0, x)
>>> print(b)
[25 12 28 12 28]
>>> b = np.apply_along_axis(np.sum, 1, x)
>>> print(b)
[28 19 16 24 18]
這裡解釋一下axis = 0的含義,以二維陣列距離,當axis = 0時,是指遍歷的方向是行,也就是說列是固定的,比如第一列6+3+6+3+8=25,就是結果陣列的第一個數,以此類推。axis = 1的含義是,遍歷的方向是列,示意圖如下:
2.採用自定義函式迭代
也就是更改第一個引數,如下:
>>> def xiao_func(x):
>>> return (x[0] + x[3])
>>> b = np.apply_along_axis(xiao_func, 0, a)
>>> print(b)
[14 8 10 8 12]
相關文章
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- Lesson10——NumPy 迭代陣列陣列
- NumPy迭代陣列的實現示例陣列
- NumPy 陣列迭代與合併詳解陣列
- numpy學習筆記 – numpy陣列的常見用法筆記陣列
- numpy陣列(2)陣列
- Numpy陣列操作陣列
- 【numpy學習筆記】陣列的建立和基本運算筆記陣列
- 【numpy學習筆記】陣列的儲存和下載筆記陣列
- Numpy學習-Task01-資料型別&陣列建立資料型別陣列
- Javascript 08 陣列JavaScript陣列
- NumPy 陣列屬性陣列
- Python學習教程:Numpy系列,建立陣列的三大絕招Python陣列
- 【numpy學習筆記】矩陣操作筆記矩陣
- NumPy 超詳細教程(1):NumPy 陣列陣列
- 陣列學習陣列
- numpy——陣列的形狀陣列
- numpy——陣列的計算陣列
- Python列表建立NumPy陣列Python陣列
- JS 陣列的迭代方法JS陣列
- Numpy庫(一)- 陣列的建立陣列
- NumPy 基礎 (一) - 建立陣列陣列
- 陣列的學習陣列
- 學習JSON陣列JSON陣列
- NumPy 基礎 (二) - 陣列運算陣列
- 第六篇 numpy陣列索引陣列索引
- numpy陣列之讀寫檔案陣列
- Lesson4——NumPy 陣列屬性陣列
- NumPy之:ndarray多維陣列操作陣列
- PHP學習3——陣列PHP陣列
- Java學習之陣列Java陣列
- Python科學計算之Numpy陣列生成與運算Python陣列
- Java學習之陣列練習Java陣列
- Numpy學習(2)numpy向量化、numpy操作
- Ext迭代陣列訪問資料陣列
- NumPy 分割與搜尋陣列詳解陣列
- 給numpy陣列賦同樣的值陣列
- NumPy之:結構化陣列詳解陣列