常用API
numpy 对象的各种创建方式
| 方法 | 语法示例 | 说明 |
| 从列表创建 | arr1 = np.array([1, 2, 3]) a = [1,2,3,4]; np.array(a) | 从类似列表的序列 (如列表、元组)创建数组 |
| 使用 arange | arr = np.arange(15).reshape(3, 5) | np.arange(15) 生成一个包含15个元素(0到14)的一维数组, 然后通过 reshape 方法 重塑为3行5列的二维数组 |
| 创建全0数组 | arr_zero = np.zeros((3, 5)) | 创建一个3行5列的全0数组 注意: 形状参数是一个元组 (3, 5) |
| 创建全1数组 | arr_ones = np.ones((3, 5)) | 创建一个3行5列的全1数组 注意: 形状参数是一个元组 (3, 5) |
| 创建随机数组 (float) | arr = np.random.rand(3, 5) arr = np.random.uniform(0, 1, (3, 5)) | 创建一个3行5列的数组, 其中的元素是来自 [0.0, 1.0) 区间的均匀分布的随机浮点数 |
| 创建等比数列 | arr = np.logspace(1, 3) arr = np.logspace(1, 3, 5, base=2) | 默认创建50个元素。 在10^1 到 10^3 之间, 生成一个等比数列 ------ 创建一个包含5个元素的等比数列。 底数为2,范围从2^1 到 2^3 |
| 创建等差数列 | arr = np.linspace(0, 10, 5) arr = np.linspace(0, 10, 5, endpoint=False) | 创建一个包含5个元素的等差数列。范围从0到10 默认 endpoint=True, 即包含终点10 ------ 创建一个包含5个元素的等差数列 范围从0到10 因为 endpoint=False,所以不包含终点10 |
基本函数
| 方法 | 说明 |
|---|---|
abs() | 绝对值 |
ceil() | 向上取整 |
floor() | 向下取整 |
rint() | 四舍五入 |
multiply() | 乘法 |
divide() | 除法 |
where() | 三元运算符, 例如 np.where(arr > 0, 1, 0):若元素大于0则为1,否则为0 |
统计函数
| 方法 | 说明 |
|---|---|
mean() | 计算数组的算术平均值 |
sum() | 计算数组所有元素的和 |
max() | 返回数组中的最大值 |
min() | 返回数组中的最小值 |
std() | 计算数组的标准差 |
var() | 计算数组的方差 |
argmax() | 返回数组展平后最大值所在的索引(下标) |
argmin() | 返回数组展平后最小值所在的索引(下标) |
cumsum() | 计算数组元素的累积和 (从第一个元素开始到当前元素的累加结果) |
cumprod() | 计算数组元素的累积乘积 (从第一个元素开始到当前元素的累积结果) |
unique() | 返回数组中的唯一值(去重后的结果) 需要重新赋值给一个对象 |
sort() | 对数组进行排序。默认沿最后一个轴 (axis=-1) 进行升序排序 需要重新赋值给一个对象 |
常用属性
import numpy as np
arr = np.arange(15).reshape(3,5) #创建15个数 存入到一个3行5列的arr中
print(arr.ndim)#几维数组
print(arr.shape)#打印数组的维度
print(arr.size)#元素的个数
print(arr.dtype)#int32 数据的类型
print(arr.itemsize)#数组每个字节所占的大小
print(type(arr))#数组的类型numpy.ndarray
new_arr = arr.astype(np.int64) #改变数组中每个元素的数据的类型
矩阵乘法
1*9 + 2*6 + 3*3 1行 * 1列
1*8 + 2*5 + 3*2 1行 * 2列
4*9 + 5*6 + 6*3 2行 * 1列
4*8 + 5*5 + 6*2 2行 * 2列
代码示例
arr1 = np.array([1,2,3],[4,5,6])
arr2 = np.array([9,8],[6,5],[3,2])
arr3 = arr1.dot(arr2)
arr3 = np.dot(arr1,arr2)
arr3 = arr1 @ arr2
print(arr3)
Comments NOTHING