python之numpy常用的100种数值相关方法及代码示例
欢迎来到sojson的python之numpy常用的100种数值相关方法及代码示例!这套全面的练习旨在帮助您掌握NumP的基础知识,NumPy是一个强大的Python数值计算库。无论您是初学者还是希望提高技能的经验丰富的用户,这些练习都涵盖了广泛的主题。它们提供了实际挑战来增强您对NumPy的理解。
100个常用联系例子如下:
练习1:
创建一个值范围为 0 到 9 的一维数组。
import numpy as np
arr = np.arange(10)
print(arr)
[0 1 2 3 4 5 6 7 8 9]
练习2:
将一维数组转换为 2 行的二维数组。
import numpy as np
arr = np.arange(10).reshape(2, -1)
print(arr)
[[0 1 2 3 4]
[5 6 7 8 9]]
练习 3:
将 5x3 矩阵乘以 3x2 矩阵。
import numpy as np
mat1 = np.random.random((5, 3))
mat2 = np.random.random((3, 2))
result = np.dot(mat1, mat2)
print(result)
[[1.05787846 0.32439392]
[2.18241234 0.68182548]
[1.23629853 0.39596044]
[0.42973189 0.12403945]
[1.08039539 0.36356378]]
练习 4:
从 1-10 的数组中提取所有奇数。
import numpy as np
arr = np.arange(1, 11)
odd_numbers = arr[arr % 2 != 0]
print(odd_numbers)
[1 3 5 7 9]
练习 5:
将 1-10 数组中的所有奇数替换为 -1。
import numpy as np
arr = np.arange(1, 10)
arr[arr % 2 != 0] = -1
print(arr)
[-1 2 -1 4 -1 6 -1 8 -1]
练习 6:
将一维数组转换为布尔数组,其中所有正值都变为 True。
import numpy as np
arr = np.array([-1, 2, 0, -4, 5])
boolean_arr = arr > 0
print(boolean_arr)
[False True False False True]
练习 7:
将一维数组中的所有偶数替换为其负数。
import numpy as np
arr = np.arange(1, 10)
arr[arr % 2 == 0] *= -1
print(arr)
[ 1 -2 3 -4 5 -6 7 -8 9]
练习 8:
创建一个随机 3x3 矩阵并将其标准化。
import numpy as np
matrix = np.random.random((3,3))
normalized_matrix = (matrix - np.mean(matrix)) / np.std(matrix)
print(normalized_matrix)
[[ 1.07755282 -0.27940552 -1.57739216]
[ 1.53962723 1.25274094 -0.97454418]
[-0.30801978 -0.26192698 -0.46863236]]
练习 9:
计算 3x3 矩阵的对角线元素之和。
import numpy as np
matrix = np.random.random((3, 3))
diagonal_sum = np.trace(matrix)
print(diagonal_sum)
1.0183501284750802
练习10:
从 [1,2,0,0,4,0] 中查找非零元素的索引。
import numpy as np
arr = np.array([1, 2, 0, 0, 4, 0])
non_zero_indices = np.nonzero(arr)
print(non_zero_indices)
(数组([0,1,4],dtype=int64),)
练习11:
反转一维数组(第一个元素成为最后一个元素)。
import numpy as np
arr = np.arange(10)
reversed_arr = np.flip(arr)
print(reversed_arr)
[9 8 7 6 5 4 3 2 1 0]
练习 12:
创建一个 3x3 单位矩阵。
import numpy as np
identity_matrix = np.eye(3)
print(identity_matrix)
[[1。0. 0.]
[0. 1. 0.]
[0. 0.1.]]
练习 13:
将 1D 数组重塑为 5 行 2 列的二维数组。
import numpy as np
arr = np.arange(10)
reshaped_arr = arr.reshape(5, 2)
print(reshaped_arr)
[[0 1]
[2 3]
[4 5]
[6 7]
[8 9]]
练习 14:
垂直堆叠两个数组。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
stacked_arr = np.vstack((arr1, arr2))
print(stacked_arr)
[[1 2 3] [4 5 6]]
练习 15:
获取两个数组之间的公共项。
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
common_items = np.intersect1d(arr1, arr2)
print(common_items)
[3 4 5]
练习 16:
创建一个 5x5 矩阵,行值范围为 0 到 4。
import numpy as np
matrix = np.zeros((5, 5))
matrix += np.arange(5)
print(matrix)
[[0。1.2.3.4.]
[0. 1.2.3.4.]
[0. 1.2.3.4.]
[0. 1.2.3.4.]
[0. 1.2.3.4.]]
练习 17:
查找一维数组中最大值的索引。
import numpy as np
arr = np.array([3, 7, 1, 10, 4])
max_index = np.argmax(arr)
print(max_index)
练习 18:
将一维数组中的值标准化为 0 到 1 之间。
import numpy as np
arr = np.array([2, 5, 10, 3, 8])
normalized_arr = (arr - np.min(arr)) / (np.max(arr) - np.min(arr))
print(normalized_arr)
[0。0.375 1. 0.125 0.75 ]
练习 19:
计算两个数组的点积。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
dot_product = np.dot(arr1, arr2)
print(dot_product)
32
练习 20:
计算数组中特定范围内元素的数量。
import numpy as np
arr = np.array([2, 5, 8, 10, 12, 15])
count_within_range = np.sum((arr >= 5) & (arr <= 12))
print(count_within_range)
4
练习 21:
求二维数组中每一行的平均值。
import numpy as np
matrix = np.random.random((3, 4))
row_means = np.mean(matrix, axis=1)
print(row_means)
[0.437043 0.73541944 0.45005375]
练习 22:
创建一个随机 4x4 矩阵并提取对角线元素。
import numpy as np
matrix = np.random.random((4, 4))
diagonal_elements = np.diag(matrix)
print(diagonal_elements)
[0.3968107 0.3355669 0.91924761 0.907174 ]
练习 23:
计算数组中特定值出现的次数。
import numpy as np
arr = np.array([1, 2, 3, 4, 2, 3, 2, 1])
count_of_2 = np.count_nonzero(arr == 2)
print(count_of_2)
3
练习 24:
将一维数组中的所有值替换为数组的平均值。
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
arr[:] = np.mean(arr)
print(arr)
[30 30 30 30 30]
练习 25:
查找一维数组中最大值和最小值的索引。
import numpy as np
arr = np.array([5, 2, 8, 1, 7])
max_index = np.argmax(arr)
min_index = np.argmin(arr)
print("Index of max:", max_index)
print("Index of min:", min_index)
最大值索引:2
最小值索引:3
练习 26:
创建一个二维数组,边界为 1,内部为 0。
import numpy as np
arr = np.ones((5, 5))
arr[1:-1, 1:-1] = 0
print(arr)
[[1。1.1.1.1.]
[1. 0.0.0.1.]
[1. 0.0.0.1.]
[1. 0.0.0.1.]
[1. 1.1.1.1.]]
练习 27:
查找一维数组中的唯一值及其计数。
import numpy as np
arr = np.array([1, 2, 3, 2, 4, 1, 5, 4, 6])
unique_values, counts = np.unique(arr, return_counts=True)
print("Unique values:", unique_values)
print("Counts:", counts)
唯一值:[1 2 3 4 5 6]
计数:[2 2 1 2 1 1]
练习 28:
创建一个 3x3 矩阵,其值范围为 0 到 8。
import numpy as np
matrix = np.arange(9).reshape(3, 3)
print(matrix)
[[0 1 2]
[3 4 5]
[6 7 8]]
练习 29:
计算一维数组中所有元素的指数。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
exponential_arr = np.exp(arr)
print(exponential_arr)
[ 2.71828183 7.3890561 20.08553692 54.59815003 148.4131591 ]
练习 30:
交换二维数组中的两行。
import numpy as np
matrix = np.random.random((3, 4))
matrix[[0, 1]] = matrix[[1, 0]]
print(matrix)
[[0.64447186 0.98641154 0.7336092 0.79829912]
[0.00753743 0.65414365 0.74147161 0.14819561] [0.53158903 0.89859906
0.75709264 0.49165449]]
练习 31:
创建一个随机 3x3 矩阵,并将所有大于 0.5 的值替换为 1,将所有其他值替换为 0。
import numpy as np
matrix = np.random.random((3, 3))
matrix[matrix > 0.5] = 1
matrix[matrix <= 0.5] = 0
print(matrix)
[[1。0. 1.]
[0. 0. 0.]
[0. 0.0.]]
练习 32:
查找一维数组中前 N 个最大值的索引。
import numpy as np
arr = np.array([10, 5, 8, 20, 15])
top_indices = np.argsort(arr)[-2:] # Replace 2 with desired top N
print(top_indices)
[4 3]
练习 33:
计算二维数组中每列的平均值。
import numpy as np
matrix = np.random.random((4, 3))
column_means = np.mean(matrix, axis=0)
print(column_means)
[0.54904302 0.4902671 0.42925161]
练习 34:
标准化二维数组每列中的值。
import numpy as np
matrix = np.random.random((4, 3))
normalized_matrix = (matrix - np.mean(matrix, axis=0)) / np.std(matrix, axis=0)
print(normalized_matrix)
[[-0.46748521 -0.77417852 -0.84330049]
[ 1.0967056 1.71309044 0.71160507]
[ 0.7764295 -0.58168559 1.24351291]
[-1.4056499 -0.357226 32 -1.11181749]]
练习 35:
连接两个一维数组。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))
print(concatenated_arr)
[1 2 3 4 5 6]
练习 36:
使用随机值创建一个二维数组并对每一行进行排序。
import numpy as np
matrix = np.random.random((3, 4))
sorted_matrix = np.sort(matrix, axis=1)
print(sorted_matrix)
[[0.10858953 0.71557663 0.7986983 0.90525131]
[0.318373 0.50887498 0.51900254 0.7860126] [0.06242782 0.12665803
0.12884579 0. 1440853]]
练习 37:
计算两个数组之间的均方误差。
import numpy as np
arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([2, 3, 4, 5])
mse = np.mean((arr1 - arr2) ** 2)
print(mse)
1.0
练习 38:
将数组中的所有负值替换为 0。
import numpy as np
arr = np.array([-1, 2, -3, 4, -5])
arr[arr < 0] = 0
print(arr)
[0 2 0 4 0]
练习 39:
查找数组的第 5 个和第 95 个百分位数。
import numpy as np
arr = np.random.random(10)
percentile_5th = np.percentile(arr, 5)
percentile_95th = np.percentile(arr, 95)
print("5th Percentile:", percentile_5th)
print("95th Percentile:", percentile_95th)
第 5 个百分位:0.04785597751800983
第 95 个百分位:0.8708086577975086
练习 40:
创建一个随机 2x2 矩阵并计算其行列式。
import numpy as np
matrix = np.random.random((2, 2))
determinant = np.linalg.det(matrix)
print(determinant)
0.0019446951056262907
练习 41:
计算数组中大于平均值的元素数量。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
count_above_mean = np.sum(arr > np.mean(arr))
print(count_above_mean)
2
练习 42:
计算一维数组中每个元素的平方根。
import numpy as np
arr = np.array([4, 9, 16, 25])
sqrt_arr = np.sqrt(arr)
print(sqrt_arr)
[2. 3.4.5.]
练习 43:
创建一个 3x3 矩阵并计算矩阵平方根。
import numpy as np
matrix = np.random.random((3, 3))
matrix_sqrt = np.linalg.matrix_power(matrix, 2)
print(matrix_sqrt)
[[0.62607741 0.64326801 0.24778017]
[1.35236384 1.43972006 0.56587005]
[0.617024 0.71519995 0.29469311]]
练习 44:
将数组的数据类型转换为浮点型。
import numpy as np
arr = np.array([1, 2, 3, 4], dtype=int)
float_arr = arr.astype(float)
print(float_arr)
[1. 2.3.4.]
练习 45:
计算数组的逐元素绝对值。
import numpy as np
arr = np.array([-1, -2, 3, -4])
abs_values = np.abs(arr)
print(abs_values)
[1 2 3 4]
练习 46:
查找两个数组的元素匹配的索引。
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 2, 8, 4, 5])
matching_indices = np.where(arr1 == arr2)
print(matching_indices)
(数组([1,3,4],dtype=int64),)
练习 47:
计算一维数组中元素的累积和。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
cumulative_sum = np.cumsum(arr)
print(cumulative_sum)
[ 1 3 6 10 15]
练习 48:
计算 2x2 矩阵的逆矩阵。
import numpy as np
matrix = np.random.random((2, 2))
inverse_matrix = np.linalg.inv(matrix)
print(inverse_matrix)
[[ 1.22685384 -4.14864181]
[-0.2704788 6.62123806]]
练习 49:
计算二维数组中非零元素的数量。
import numpy as np
matrix = np.array([[0, 1, 0], [2, 0, 3], [0, 4, 0]])
non_zero_count = np.count_nonzero(matrix)
print(non_zero_count)
4
练习 50:
创建一个二维数组并将所有 nan 值替换为 0。
import numpy as np
matrix = np.array([[1, np.nan, 3], [4, 5, np.nan], [7, 8, 9]])
matrix[np.isnan(matrix)] = 0
print(matrix)
[[1。0.3.]
[4. 5.0.]
[7. 8. 9.]]
练习 51:
求两个数组之间的相关系数。
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
correlation_coefficient = np.corrcoef(arr1, arr2)[0, 1]
print(correlation_coefficient)
0.9999999999999999
练习 52:
创建一个一维数组并删除所有重复值。
import numpy as np
arr = np.array([1, 2, 3, 2, 4, 5, 1])
unique_arr = np.unique(arr)
print(unique_arr)
[1 2 3 4 5]
练习 53:
计算两个数组的按元素乘积。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
elementwise_product = np.multiply(arr1, arr2)
print(elementwise_product)
[ 4 10 18]
练习 54:
计算二维数组中每列的标准差。
import numpy as np
matrix = np.random.random((4, 3))
column_stddev = np.std(matrix, axis=0)
print(column_stddev)
[0.22702366 0.27411548 0.25568707]
练习 55:
创建一个二维数组并将高于某个阈值的所有值设置为该阈值。
import numpy as np
matrix = np.random.random((3, 4))
threshold = 0.7
matrix[matrix > threshold] = threshold
print(matrix)
[[0.7 0.54918234 0.7 0.01893358]
[0.09114833 0.00268936 0.13766009 0.28160436]
[0.40448374 0.7 0.7 0.30830747]]
练习 56:
创建一个随机 5x5 矩阵并将最大值替换为 -1。
import numpy as np
matrix = np.random.random((5, 5))
max_value_index = np.unravel_index(np.argmax(matrix), matrix.shape)
matrix[max_value_index] = -1
print(matrix)
0.14166163 0.56071446]]
练习 57:
将华氏温度的一维数组转换为摄氏度。
import numpy as np
fahrenheit_temps = np.array([32, 68, 100, 212])
celsius_temps = (fahrenheit_temps - 32) * 5/9
print(celsius_temps)
[0.20.37.77777778 100.]
练习 58:
计算两个数组的外积。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
outer_product = np.outer(arr1, arr2)
print(outer_product)
[[ 4 5 6]
[ 8 10 12]
[12 15 18]]
练习 59:
创建一个包含 0 到 1 之间 10 个等距值的一维数组。
import numpy as np
equidistant_arr = np.linspace(0, 1, 10)
print(equidistant_arr)
[0。0.11111111 0.22222222 0.33333333 0.44444444 0.55555556
0.66666667 0.77777778 0.88888889 1.]
练习 60:
计算两个 3D 数组的叉积。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
cross_product = np.cross(arr1, arr2)
print(cross_product)
[-3 6 -3]
练习 61:
计算沿二维数组的特定轴的百分位数。
import numpy as np
matrix = np.random.random((3, 4))
percentiles_axis1 = np.percentile(matrix, 75, axis=1)
print(percentiles_axis1)
[0.73954718 0.63159296 0.49097014]
练习 62:
创建一个一维数组并在其周围添加 0 边框。
import numpy as np
arr = np.array([1, 2, 3, 4])
arr_with_border = np.pad(arr, (1, 1), mode='constant', constant_values=0)
print(arr_with_border)
[0 1 2 3 4 0]
练习 63:
计算一维数组的直方图。
import numpy as np
arr = np.array([1, 1, 2, 2, 2, 3, 3, 3, 3])
hist, bins = np.histogram(arr, bins=[1, 2, 3, 4])
print("Histogram:", hist)
print("Bin edges:", bins)
直方图:[2 3 4]
箱边缘:[1 2 3 4]
练习 64:
创建一个具有随机值的二维数组并对每一行进行标准化。
import numpy as np
matrix = np.random.random((4, 3))
normalized_rows = matrix / np.linalg.norm(matrix, axis=1, keepdims=True)
print(normalized_rows)
[[0.61881278 0.58433001 0.52500398]
[0.50152886 0.39533452 0.76953195]
[0.18399814 0.89840062 0.39877439]
[0.76636647 0.2522315 5 0.59081442]]
练习 65:
创建一个随机二维数组并按第二列对其进行排序。
import numpy as np
matrix = np.random.random((3, 4))
sorted_matrix_by_column2 = matrix[matrix[:, 1].argsort()]
print(sorted_matrix_by_column2)
[[0.28214407 0.30234856 0.56159219 0.34651641]
[0.72579465 0.64605243 0.14824549 0.6364958]
[0.4852539 0.96161675 0.41756529 0.7079494]]
练习 66:
计算 3x3 矩阵的行列式。
import numpy as np
matrix = np.random.random((3, 3))
determinant = np.linalg.det(matrix)
print(determinant)
0.09550080558000806
练习 67:
计算一维数组的按元素求幂。
import numpy as np
arr = np.array([2, 3, 4])
exponentiated_arr = np.exp(arr)
print(exponentiated_arr)
[ 7.3890561 20.08553692 54.59815003]
练习 68:
计算二维数组的 Frobenius 范数。
import numpy as np
matrix = np.random.random((3, 4))
frobenius_norm = np.linalg.norm(matrix)
print(frobenius_norm)
1.8692600488600242
练习 69:
使用随机值创建一个二维数组,并将最大值替换为最小值。
import numpy as np
matrix = np.random.random((3, 4))
max_value_index = np.unravel_index(np.argmax(matrix), matrix.shape)
min_value = np.min(matrix)
matrix[max_value_index] = min_value
print(matrix)
[[0.29383093 0.01637657 0.7794734 0.01637657]
[0.76911564 0.22745882 0.32986131 0.84500937]
[0.94922056 0.54607467 0.80921816 0.28474546]]
练习 70:
计算两个二维数组的矩阵乘法。
import numpy as np
matrix1 = np.random.random((3, 4))
matrix2 = np.random.random((4, 5))
matrix_multiplication = np.dot(matrix1, matrix2)
print(matrix_multiplication)
[[0.99119942 0.85513185 0.57664501 0.31851386 0.84601174]
[1.38306551 1.16773145 0.83001893 0.68922723 1.12666608]
[1.72827308 1.44430652 1.03782659 1.28492828 1.24906297]]
练习 71:
创建一个一维数组并将 10 到 20 之间的值设置为 0。
import numpy as np
arr = np.array([5, 15, 12, 18, 25])
arr[(arr >= 10) & (arr <= 20)] = 0
print(arr)
[ 5 0 0 0 25]
练习 72:
计算一维数组中每个元素的反双曲正弦。
import numpy as np
arr = np.array([1, 2, 3, 4])
inverse_sineh_arr = np.arcsinh(arr)
print(inverse_sineh_arr)
[0.88137359 1.44363548 1.81844646 2.09471255]
练习 73:
计算两个数组的克罗内克积。
import numpy as np
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])
kronecker_product = np.kron(arr1, arr2)
print(kronecker_product)
[3 4 6 8]
练习 74:
计算一维数组的平均绝对偏差。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mean_absolute_deviation = np.mean(np.abs(arr - np.mean(arr)))
print(mean_absolute_deviation)
1.2
练习 75:
创建一个 3x3 矩阵并将主对角线上方的所有值设置为零。
import numpy as np
matrix = np.random.random((3, 3))
matrix[np.triu_indices(3, 1)] = 0
print(matrix)
[[0.7344708 0.0.]
[0.91154103 0.58004909 0.]
[0.53953411 0.73231191 0.8315308]]
练习 76:
计算一维数组中每个唯一值出现的次数。
import numpy as np
arr = np.array([2, 2, 1, 3, 3, 3, 4])
unique_values, counts = np.unique(arr, return_counts=True)
print("Unique values:", unique_values)
print("Counts:", counts)
唯一值:[1 2 3 4]
计数:[1 2 3 1]
练习 77:
计算二维数组中沿给定轴的元素的累积乘积。
import numpy as np
matrix = np.random.random((3, 4))
cumulative_product_axis0 = np.cumprod(matrix, axis=0)
print(cumulative_product_axis0)
[[0.65005294 0.01951926 0.25636043 0.30961964]
[0.28738887 0.00883133 0.24993819 0.06504888]
[0.21895124 0.00590692 0.0116853 0.03512077]]
练习 78:
将一维数组的元素舍入为最接近的整数。
import numpy as np
arr = np.array([1.2, 2.7, 3.5, 4.9])
rounded_arr = np.round(arr)
print(rounded_arr)
[1. 3.4.5.]
练习 79:
创建一个一维数组并将一个新元素附加到末尾。
import numpy as np
arr = np.array([1, 2, 3])
new_element = 4
arr = np.append(arr, new_element)
print(arr)
[1 2 3 4]
练习 80:
计算两个数组之间的元素绝对差。
import numpy as np
arr1 = np.array([3, 7, 1, 10, 4])
arr2 = np.array([2, 5, 8, 1, 7])
absolute_difference = np.abs(arr1 - arr2)
print(absolute_difference)
[1 2 7 9 3]
练习 81:
使用随机值创建一个二维数组,并将每行中的最大值替换为 -1。
import numpy as np
matrix = np.random.random((3, 4))
max_values_indices = np.argmax(matrix, axis=1)
matrix[np.arange(matrix.shape[0]), max_values_indices] = -1
print(matrix)
[[ 0.14015869 0.13279371 -1。0.4665563]
[0.73795369 0.311774 -1。0.05087541]
[0.6516183 -1。0.30233177 0.48674956]]
练习 82:
将二维数组的列标准化为总和为 1。
import numpy as np
matrix = np.random.random((3, 4))
normalized_columns = matrix / np.sum(matrix, axis=0, keepdims=True)
print(normalized_columns)
[[0.00548299 0.49881449 0.16102029 0.23643045]
[0.58935257 0.27548946 0.54365728 0.57390056]
[0.40516443 0.22569604 0.29532244 0.18966899]]
练习 83:
查找一维数组中前 N 个最小值的索引
import numpy as np
arr = np.array([10, 5, 8, 1, 7])
top_indices = np.argsort(arr)[:2] # Replace 2 with desired top N
print(top_indices)
[3 1]
练习 84:
将一维数组的元素转换为字符串。
import numpy as np
arr = np.array([1, 2, 3, 4])
string_arr = arr.astype(str)
print(string_arr)
[‘1’‘2’‘3’‘4’]
练习 85:
计算一维数组中每个元素的百分位数排名。
import numpy as np
from scipy.stats import percentileofscore
arr = np.array([1, 2, 3, 4, 5])
# Calculate percentile rank for each element in arr
percentile_rank = np.array([percentileofscore(arr, value) for value in arr])
print(percentile_rank)
[ 20. 40. 60. 80. 100.]
练习 86:
创建一个一维数组并随机打乱其元素。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
np.random.shuffle(arr)
print(arr)
[4 2 5 1 3]
练习 87:
检查一维数组中的所有元素是否都非零。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
all_nonzero = np.all(arr != 0)
print(all_nonzero)
yes
练习 88:
查找二维数组每行中最大值的索引。
import numpy as np
matrix = np.random.random((3, 4))
max_indices_per_row = np.argmax(matrix, axis=1)
print(max_indices_per_row)
[1 3 2]
练习 89:
创建一个二维数组并将所有 nan 值替换为数组的平均值。
import numpy as np
matrix = np.array([[1, np.nan, 3], [4, 5, np.nan], [7, 8, 9]])
nan_mean = np.nanmean(matrix)
matrix[np.isnan(matrix)] = nan_mean
print(matrix)
[[1。5.28571429 3.]
[4. 5.5.28571429]
[7。8. 9.]]
练习 90:
计算二维数组中每行的平均值,忽略 nan 值。
import numpy as np
matrix = np.array([[1, 2, np.nan], [4, np.nan, 6], [7, 8, 9]])
row_means_ignore_nan = np.nanmean(matrix, axis=1)
print(row_means_ignore_nan)
[1.5 5. 8.]
练习 91:
计算二维数组中对角元素的总和。
import numpy as np
matrix = np.random.random((3, 3))
diagonal_sum = np.trace(matrix)
print(diagonal_sum)
1.375162416021255
练习 92:
将一维数组中每个元素的弧度转换为度数。
import numpy as np
arr_in_radians = np.array([np.pi/2, np.pi, 3*np.pi/2])
arr_in_degrees = np.degrees(arr_in_radians)
print(arr_in_degrees)
[ 90. 180. 270.]
练习 93:
计算两个数组之间的成对欧几里得距离。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
euclidean_distance = np.linalg.norm(arr1 - arr2)
print(euclidean_distance)
5.196152422706632
练习 94:
创建一个一维数组并将第 25 个百分位数和第 75 个百分位数之间的值设置为 0。
import numpy as np
arr = np.array([10, 20, 30, 40, 50])
percentile_25th = np.percentile(arr, 25)
percentile_75th = np.percentile(arr, 75)
arr[(arr >= percentile_25th) & (arr <= percentile_75th)] = 0
print(arr)
[10 0 0 0 50]
练习 95:
计算两个数组之间差异的逐元素平方。
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
squared_difference = (arr1 - arr2)**2
print(squared_difference)
[9 9 9]
练习 96:
将一维数组中的所有偶数替换为下一个奇数。
import numpy as np
arr = np.array([2, 5, 8, 12, 15])
arr[arr % 2 == 0] += 1
print(arr)
[ 3 5 9 13 15]
练习 97:
创建一个二维数组并按其范围标准化每列。
import numpy as np
matrix = np.random.random((3, 4))
normalized_columns_range = (matrix - np.min(matrix, axis=0)) / (np.max(matrix, axis=0) - np.min(matrix, axis=0))
print(normalized_columns_range)
[[0。1.0.1.]
[0.38748809 0.1.0.]
[1. 0.39378719 0.83348354 0.78448847]]
练习 98:
计算二维数组中沿给定轴的元素的累积和。
import numpy as np
matrix = np.random.random((3, 4))
cumulative_sum_axis1 = np.cumsum(matrix, axis=1)
print(cumulative_sum_axis1)
[[0.23623571 0.76181793 1.40183102 2.02358543]
[0.89415619 1.38540147 1.46977913 1.99923603]
[0.3626984 0.94484957 1.24671758 2.19056585]]
练习 99:
检查一维数组中是否有任何元素不为零。
import numpy as np
arr = np.array([0, 0, 0, 1, 0])
any_nonzero = np.any(arr != 0)
print(any_nonzero)
yes
练习 100:
使用随机整数创建一个二维数组,并将所有大于某个阈值的值替换为该阈值。
import numpy as np
matrix = np.random.randint(0, 100, size=(3, 4))
threshold = 75
matrix[matrix > threshold] = threshold
print(matrix)
[[72 55 56 26]
[ 8 16 54 75]
[13 74 36 75]]
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/498.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。