如何在NumPy中为行和列设置坐标轴
在这篇文章中,我们将看到如何在NumPy中设置行和列的轴。
使用的方法
- np.array(object): 创建一个NumPy数组,对象是包含数组的参数。
- np.reshape(rows, columns): 将数组重塑为指定数量的行和列。在下面的例子中,我们用-1来代替行,让numpy计算出每行是否有3列。
- np.sum(axis): 计算元素的总和或加法。这里我们提到了轴,可以根据需要进行阵列式、行式或列式的操作。
例子1:为阵列式计算设置轴。
在这个例子中,我们将把NumPy数组重塑为每行3列,即nparray.reshape(-1, 3),使其成为二维的。然后我们将对数组元素进行数组化的和运算,即从NumPy数组的第一个元素开始到最后一个元素,按正常顺序进行。我们特别设置了axis= None来触发正常的阵列式操作。
代码:
import numpy as np
nparray = np.array([[1, 2, 3], [11, 22, 33],
[4, 5, 6], [8, 9, 10],
[20, 30, 40]])
nparray = nparray.reshape(-1, 3)
print(nparray)
# calculating sum along
# axix=None i.e array-wise
output = nparray.sum(axis=None)
print("\n\nSum array-wise: ", output)
输出 :
[[ 1 2 3]
[11 22 33]
[ 4 5 6]
[ 8 9 10]
[20 30 40]]
Sum array-wise: 204
例子2:为逐列计算设置轴。
在这个例子中,我们将把numpy数组重塑为每3列的行。然后使用sum()函数对数组元素进行逐列求和操作。我们特别设置了axis=0来触发正常的数组操作。
代码:
import numpy as np
nparray = np.array([[1, 2, 3], [11, 22, 33],
[4, 5, 6], [8, 9, 10],
[20, 30, 40]])
nparray = nparray.reshape(-1, 3)
print(nparray)
# calculating sum along axix=0
# i.e column-wise
output = nparray.sum(axis = 0)
print("\n\nSum column-wise: ", output)
输出 :
[[ 1 2 3]
[11 22 33]
[ 4 5 6]
[ 8 9 10]
[20 30 40]]
Sum column-wise: [44 68 92]
例子3:设置轴以进行逐行计算。
我们将特别设置轴=1,以触发正常的逐行计算。
代码:
import numpy as np
nparray = np.array([[1, 2, 3], [11, 22, 33],
[4, 5, 6], [8, 9, 10],
[20, 30, 40]])
nparray = nparray.reshape(-1, 3)
print(nparray)
# calculating sum along axix=1
# i.e row0wise
output = nparray.sum(axis = 1)
print("\n\nSum row-wise: ", output)
输出 :
[[ 1 2 3]
[11 22 33]
[ 4 5 6]
[ 8 9 10]
[20 30 40]]
Sum row-wise: [ 6 66 15 27 90]