Python NumPy 矩阵操作: 均匀分布随机生成、行平均值处理、数据保存、行交换和排序
import numpy as np
# 生成随机矩阵
arr = np.random.uniform(low=10., high=20., size=(10, 5))
# (a)每行减去平均值
mean_arr = np.mean(arr, axis=1, keepdims=True)
new_arr = arr - mean_arr
# 打印原数组和新数组
print('原数组:\n', arr)
print('新数组:\n', new_arr)
# (b)保存至文本文件
np.savetxt('dat.csv', new_arr, fmt='%.3f', delimiter=',')
# (c)读取并交换第一行和第二行
loaded_arr = np.loadtxt('dat.csv', delimiter=',')
temp = loaded_arr[0].copy()
loaded_arr[0] = loaded_arr[1]
loaded_arr[1] = temp
# (d)按第二列排序
sorted_arr = loaded_arr[loaded_arr[:, 1].argsort()]
# 打印排序后的数组
print('排序后的数组:\n', sorted_arr)
本代码演示了使用 NumPy 库进行矩阵操作的基本步骤,包括随机生成、行平均值处理、数据保存、行交换和排序。通过这些操作,可以对矩阵数据进行灵活的处理和分析。
代码说明:
np.random.uniform(low=10., high=20., size=(10, 5)):生成一个 10 行 5 列的随机矩阵,每个元素服从区间 [10, 20] 上的均匀分布。np.mean(arr, axis=1, keepdims=True):计算矩阵arr每行的平均值,并保留维度,以便后续减法操作。np.savetxt('dat.csv', new_arr, fmt='%.3f', delimiter=','):将矩阵new_arr保存到名为 'dat.csv' 的文本文件中,保留小数点后三位,并用逗号分隔。np.loadtxt('dat.csv', delimiter=','):从 'dat.csv' 文件中读取矩阵数据。loaded_arr[loaded_arr[:, 1].argsort()]:根据第二列数据对矩阵loaded_arr进行排序。
通过以上代码,可以了解如何使用 NumPy 库进行矩阵操作的基本操作,并可以将其应用到其他矩阵处理和数据分析任务中。
原文地址: https://www.cveoy.top/t/topic/nnfn 著作权归作者所有。请勿转载和采集!