在Numpy中沿軸1對多維陣列應用累加
要累加對所有元素應用運算子的結果,請使用Python Numpy中的**numpy.accumulate()**方法。對於多維陣列,累加僅沿一個軸應用。我們將沿軸1應用。
**numpy.ufunc**具有對整個陣列逐元素操作的函式。ufunc是用C語言編寫的(為了速度)並與NumPy的ufunc工具連結到Python。通用函式(簡稱ufunc)是一個逐元素操作ndarray的函式,支援陣列廣播、型別轉換和幾個其他標準特性。也就是說,ufunc是函式的“向量化”包裝器,它接受固定數量的特定輸入併產生固定數量的特定輸出。
步驟
首先,匯入所需的庫:
import numpy as np
建立一個二維陣列。numpy.eye()返回一個二維陣列,對角線為1,其他位置為0:
arr = np.eye(3)
顯示陣列:
print("Array...
", arr)獲取陣列的型別:
print("
Our Array type...
", arr.dtype)
獲取陣列的維度:
print("
Our Array Dimensions...
",arr.ndim)要累加對所有元素應用運算子的結果,請使用Python Numpy中的numpy.accumulate()方法。對於多維陣列,累加僅沿一個軸應用:
新增累加:沿軸1(列)累加:
print("
Add accumulate...
",np.add.accumulate(arr, 1))
乘法累加:
print("
Multiply accumulate...
",np.multiply.accumulate(arr, 1))示例
import numpy as np
import numpy.ma as ma
# The numpy.ufunc has functions that operate element by element on whole arrays.
# ufuncs are written in C (for speed) and linked into Python with NumPy’s ufunc facility
# Create a 2d array
# The numpy.eye() returns a 2-D array with 1’s as the diagonal and 0’s elsewhere.
arr = np.eye(3)
# Display the array
print("Array...
", arr)
# Get the type of the array
print("
Our Array type...
", arr.dtype)
# Get the dimensions of the Array
print("
Our Array Dimensions...
",arr.ndim)
# To Accumulate the result of applying the operator to all elements, use the numpy.accumulate() method in Python Numpy
# For a multi-dimensional array, accumulate is applied along only one axis
# Add accumulate
# Accumulate along axis 1 (columns)
# Add accumulate
print("
Add accumulate...
",np.add.accumulate(arr, 1))
# Multiply accumulate
print("
Multiply accumulate...
",np.multiply.accumulate(arr, 1))輸出
Array... [[1. 0. 0.] [0. 1. 0.] [0. 0. 1.]] Our Array type... float64 Our Array Dimensions... 2 Add accumulate... [[1. 1. 1.] [0. 1. 1.] [0. 0. 1.]] Multiply accumulate... [[1. 0. 0.] [0. 0. 0.] [0. 0. 0.]]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP