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 代码讲解
最新文章
XML内部实体和外部实体 90
Java面向对象编程概念 101
PHP回显语句 91
Linux—文件树 116
C语言while循环和do while循环 131
Python元组剖析 200
MySQL触发器教程 296
sql使用布尔运算符和关系运算符 241
C语言的变量和常量 296
PostgreSQL:数据库角色 123
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 681970
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 674712
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 601960
免费天气API,天气JSON API,不限次数获取十五天的天气预报 576653
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 552868
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 509341
Elasticsearch教程(四) elasticsearch head 插件安装和使用 479946
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 264412
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244246
Elasticsearch教程(一),全程直播(小白级别) 225520
支付扫码

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

查看我的收藏

正在加载... ...