1. 创建数组
1.1 numpy.array
创建一个数组。
import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr)
1.2 numpy.zeros
创建一个全零数组。
zeros_arr = np.zeros((2, 3))
print(zeros_arr)
1.3 numpy.ones
创建一个全一数组。
ones_arr = np.ones((2, 3))
print(ones_arr)
1.4 numpy.arange
创建一个等差数组。
range_arr = np.arange(0, 10, 2)
print(range_arr)
1.5 numpy.linspace
创建一个均匀分布数组。
uniform_arr = np.linspace(0, 1, 5)
print(uniform_arr)
1.6 numpy.random.rand
创建一个随机数组(均匀分布)。
rand_arr = np.random.rand(2, 2)
print(rand_arr)
1.7 numpy.random.randn
创建一个随机数组(标准正态分布)。
randn_arr = np.random.randn(2, 2)
print(randn_arr)
2. 数组操作
2.1 numpy.shape
获取数组的形状。
arr = np.array([[1, 2, 3], [4, 5, 6]])
shape = np.shape(arr)
print(shape)
2.2 numpy.ndim
获取数组的维度。
dimension = np.ndim(arr)
print(dimension)
2.3 numpy.dtype
获取数组元素的数据类型。
dtype = arr.dtype
print(dtype)
2.4 numpy.transpose
对数组进行转置。
transposed_arr = np.transpose(arr)
print(transposed_arr)
2.5 数组切片
对数组进行切片操作。
sliced_arr = arr[:, 1:3]
print(sliced_arr)
2.6 数组拼接
将多个数组沿指定轴拼接。
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))
print(concatenated_arr)
2.7 数组运算
对数组进行数学运算。
sum_arr = arr1 + arr2
product_arr = arr1 * arr2
print(sum_arr, product_arr)
2.8 numpy.dot
矩阵乘法。
matrix_a = np.random.rand(3, 4)
matrix_b = np.random.rand(4, 2)
result_matrix = np.dot(matrix_a, matrix_b)
print(result_matrix)
2.9 广播操作
对不同形状的数组进行数学运算。
broadcasted_arr = arr2 + 1
print(broadcasted_arr)
3. 数学函数
3.1 numpy.sum
计算数组元素的和。
arr = np.array([[1, 2, 3], [4, 5, 6]])
sum_arr = np.sum(arr)
print(sum_arr)
3.2 numpy.mean
计算数组元素的平均值。
mean_arr = np.mean(arr)
print(mean_arr)
3.3 numpy.std
计算数组元素的标准差。
std_arr = np.std(arr)
print(std_arr)
3.4 numpy.max
和 numpy.min
计算数组元素的最大值和最小值。
max_val = np.max(arr)
min_val = np.min(arr)
print(max_val, min_val)
3.5 numpy.argmax
和 numpy.argmin
返回数组中最大值和最小值的索引。
argmax_index = np.argmax(arr)
argmin_index = np.argmin(arr)
print(argmax_index, argmin_index)
3.6 numpy.abs
计算数组元素的绝对值。
abs_arr = np.abs(arr)
print(abs_arr)
3.7 numpy.exp
和 numpy.log
计算数组元素的指数和自然对数。
exp_arr = np.exp(arr)
log_arr = np.log(arr)
print(exp_arr, log_arr)
3.8 numpy.sqrt
计算数组元素的平方根。
sqrt_arr = np.sqrt(arr)
print(sqrt_arr)
4. 线性代数
4.1 numpy.linalg.inv
计算矩阵的逆。
matrix = np.array([[1, 2], [3, 4]])
inv_matrix = np.linalg.inv(matrix)
print(inv_matrix)
4.2 numpy.linalg.det
计算矩阵的行列式。
det_matrix = np.linalg.det(matrix)
print(det_matrix)
4.3 numpy.linalg.eig
计算矩阵的特征值和特征向量。
eigenvalues, eigenvectors = np.linalg.eig(matrix)
print(eigenvalues, eigenvectors)
5. 统计操作
5.1 numpy.histogram
计算数组的直方图。
hist, bins = np.histogram(arr, bins=3)
print(hist, bins)
5.2 numpy.percentile
计算数组的百分位数。
percentile_arr = np.percentile(arr, 50)
print(percentile_arr)
5.3 numpy.corrcoef
计算数组的相关系数矩阵。
corr_matrix = np.corrcoef(arr)
print(corr_matrix)
5.4 numpy.cov
计算数组的协方差矩阵。
cov_matrix = np.cov(arr)
print(cov_matrix)
5.5 numpy.unique
找出数组中的唯一值。
unique_values = np.unique(arr)
print(unique_values)
6. 其他
6.1 numpy.reshape
改变数组的形状。
reshaped_arr = np.reshape(arr, (3, 2))
print(reshaped_arr)
6.2 numpy.flatten
和 numpy.ravel
将多维数组转为一维数组。
flattened_arr = arr.flatten()
raveled_arr = arr.ravel()
print(flattened_arr, raveled_arr)
6.3 numpy.where
根据条件返回数组中的索引。
indices = np.where(arr > 3)
print(indices)
6.4 numpy.isnan
判断数组元素是否为NaN。
nan_arr = np.array([1.0, np.nan, 3.0, np.nan])
isnan_result = np.isnan(nan_arr)
print(isnan_result)
6.5 numpy.save
和 numpy.load
保存和加载数组。
np.save('saved_array.npy', arr)
loaded_arr = np.load('saved_array.npy')
print(loaded_arr)
6.6 numpy.vstack
和 numpy.hstack
垂直和水平堆叠数组。
stacked_vertically = np.vstack((arr1, arr2))
stacked_horizontally = np.hstack((arr1, arr2))
print(stacked_vertically, stacked_horizontally)
6.7 numpy.split
按照指定的轴将数组分割。
split_arr = np.split(arr, 2, axis=1)
print(split_arr)
6.8 numpy.repeat
和 numpy.tile
重复数组中的元素。
repeated_arr = np.repeat(arr, 2)
tiled_arr = np.tile(arr, 2)
print(repeated_arr, tiled_arr)
6.9 numpy.clip
限制数组中的值在某个范围内。
clipped_arr = np.clip(arr, 2, 5)
print(clipped_arr)
原文始发于微信公众号(程序员老朱):NumPy库函数速查表,建议收藏
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论