NumPy(Numerical Python)是Python中最基础、最重要的科学计算库之一,提供了高性能的多维数组(ndarray)对象和大量数学函数,是许多数据科学、机器学习库(如Pandas、SciPy、TensorFlow等)的基础依赖。
import numpy as np
### 通过array方法创建一个ndarray
array1 = np.array([1, 2, 3, 4, 5])
print(array1)
print(type(array1))
### 通过arange方法创建一个ndaaray
# 第一个参数是起始值,第二个参数是最大值,第三个参数是步长
array2 = np.arange(1, 10, 2)
print(array2)
print(type(array2))
# 一个参数是最大值,起始值是0,步长是1
array3 = np.arange(5)
print(array3)
print(type(array3))
# 第一个参数是起始值,第二个参数是最大值,步长默认是1
array4 = np.arange(2, 7)
print(array4)
print(type(array4))
import numpy as np
# ndarray与一个整数的算术运算,会把数组里面每一个元素都与这个整数进行运算
array1 = np.array([1, 2, 3, 4, 5])
array1 += 1
print(array1)
array1 *= 2
print(array1)
array1 = array1 / 2
print(array1)
print('-----------------------------')
# 一个ndarray与另一个ndarray之间的算术运算,会把两个数组对应位置的元素进行运算
array1 = np.arange(1, 6)
array2 = np.arange(6, 11)
print(array1)
print(array2)
array3 = array1 + array2
print(array3)
# 如果两个数组里面的元素个数不一致,会报错
# ValueError: operands could not be broadcast together with shapes (5,) (10,)
array1 = np.arange(5)
array2 = np.arange(10)
array3 = array1 + array2
print(array3)
import numpy as np
array1 = np.array([[1, 2, 3, 4, 5], [6, 7, 8]])
print(array1.shape)
array1 = np.array([[1, 2, 3, 4, 5], [6, 7, 8,9,[1]]])
print(array1)
array1 = np.array([[1,2], [4,6]])
print(array1)
array2 = np.array([['hi','hello'], ['mary','mark']])
print(array2)
array1 = np.array([[1,2], [4,6.0]])
print(array1)
dtype=object
强制存储不同形状数据,但会失去 NumPy 的优化优势array = np.array([[1, 2], [3, 4, 5]], dtype=object)
print(array)
# 这种操作会报错,从打印的信息看,创建出来的是一维数组,数组里面的元素是list
array += 1
list = [1,2,3,4,5]
array1 = np.array(list)
array2 = np.array([[4,5,6], [7,8,9]])
# 元素的数据类型 int64
print(array1.dtype)
print(array2.dtype)
# 元素的数据类型占用内存的字节数
print(array1.itemsize)
print(array2.itemsize)
# 数组的形状
print(array1.shape)
print(array2.shape)
# 数组中元素的个数
print(array1.size)
print(array2.size)
# 数组的维度
print(array1.ndim)
print(array2.ndim)