python之numpy常用的100种数值相关方法及代码示例

JSON 2024-02-08 15:59:48 308

欢迎来到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

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
了解js中多种数组反转方法的实现原理
Shiro 教程,关于最近反应的相关异常问题,解决方法合集。
Java模拟WSS websocket ssl请求,Java WSS模拟请求代码示例
Spring JPA查询,JPA 根据方法名字查询详细介绍
Springboot 集成Aliyun MQ消息队列,Aliyun 消息队列配置及代码实现
JQuery Ajax四写法,Ajax请求返回JSON 操作Demo
MySql数据库优化注意的四个细节(方法
公安局网站备案信息查询API,免费查询公安网备 API 代码说明
Java获取浏览器请求头(User-Agent),分析浏览器信息,系统信息的几办法。
Springboot 集成 Ehcache 代码讲解
最新文章
Python print() 函数 21
PHP if/else/elseif 语句 81
HTML5 Canvas弧线教程 74
Java赋值运算符 118
XML内部实体和外部实体 217
Java面向对象编程概念 177
PHP回显语句 128
Linux—文件树 142
C语言while循环和do while循环 150
Python元组剖析 214
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 682837
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 674741
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 603075
免费天气API,天气JSON API,不限次数获取十五天的天气预报 581363
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 553167
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 509466
Elasticsearch教程(四) elasticsearch head 插件安装和使用 480074
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 264931
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244332
Elasticsearch教程(一),全程直播(小白级别) 225661
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...