目录
一、数组的组合
NumPy 提供了几种方式来组合数组
1.np.concatenate():
按照指定轴将数组沿着现有数组组合。
import numpy as np
arr1 = np.array([[1, 2, 3],
[4, 5, 6]])
arr2 = np.array([[7, 8, 9],
[10, 11, 12]])
result1 = np.concatenate((arr1, arr2), axis=0) # 沿着行组合
print(result1)
result2 = np.concatenate((arr1, arr2), axis=1) # 沿着列组合
print(result2)
结果:
2.np.vstack() 和 np.hstack():
垂直和水平堆叠数组。
result_vstack = np.vstack((arr1, arr2)) # 垂直堆叠
result_hstack = np.hstack((arr1, arr2)) # 水平堆叠
print(result_vstack)
print(result_hstack)
结果:
二、数组元素的切割
1.np.split():
import numpy as np
arr1 = np.arange(16).reshape(4,4)
print(arr1)
#水平切割
a = np.hsplit(arr1,2)
b = np.split(arr1,2,axis=1)
#垂直切割
c = np.vsplit(arr1,2)
d = np.split(arr1,2,axis=0)
结果:
2.np.array_split():
强制切割。
#水平切割
e = np.array_split(arr1,3,axis=1)
#垂直切割
f = np.array_split(arr1,3,axis=0)
print(e)
print(f)
结果:
三、数组的算术运算
NumPy 中的数组可以进行基本的算术运算,例如加法、减法、乘法和除法等。这些运算会应用于数组的每个元素。
import numpy as np
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5, 6],
[7, 8]])
#数组的加法:对应位置的元素求和
print(arr1 + arr2)
#数组的减法:对应位置元素相减
print(arr1 - arr2)
#数组的乘法:对应位置相乘
print(arr1 * arr2)
#数组的除法:对应位置相除
print(arr1 / arr2)
#数组的取余
print(arr2 % arr1)
#数组的取整
print(arr1 // arr2)
结果:
四、数组的深拷贝和浅拷贝
在 NumPy 中,使用 copy() 方法可以创建数组的深拷贝。
1.浅拷贝:
新数组与原数组共享内存空间,修改一个会影响另一个。
import numpy as np
arr1 = np.array([1,2,3,4])
#浅拷贝
arr2 = arr1
#更改arr2的元素的值
arr2[0] = 100
print(arr2)
print("***********")
print(arr1)
结果:
2.深拷贝:
新数组与原数组完全独立,修改一个不会影响另一个。
#深拷贝
arr3 = arr1.copy()
arr3[0] = 10
print(arr3)
print("***********")
print(arr1)
结果: