Python库---Numpy

一、前言

        NumPy在数据科学和数学计算中的重要性,在数据科学和数学计算中,NumPy是一种基础的工具,被广泛用于数组操作和数学运算。众多数据科学和机器学习的库,如Pandas、SciPy、Scikit-learn等,都建立在NumPy的基础上。其高效的数组操作使得复杂的数学计算变得更加简单和高效。

二、Numpy是什么?

        NumPy是一个强大的数学库,提供了多维数组对象('numpy.ndarray')以及这些数组的操作。它之所以重要,是因为它使得在Python中进行数学和科学计算变得更加高效和方便。NumPy数组是固定大小、同一类型的元素的数组,允许快速的向量化操作。

2.1、Numpy的优势

2.1.1  性能优越: NumPy数组是经过高度优化的,底层由C语言实现,因此在处理大规模数据时非常高效。
2.1.2  广泛应用: 在科学计算、统计学、机器学习等领域广泛应用。
2.1.3强大的数学函数库: 提供了丰富的数学函数,涵盖了常见的数学运算和统计操作。
2.1.4广播机制: 允许不同形状的数组进行操作,使得代码更简洁和易读。
2.2  与Python原生列表的比较
        NumPy数组与Python原生列表相比,具有更好的性能和更多的功能。NumPy数组是固定类型的,这使得它们更适合数学运算。此外,NumPy提供了丰富的数组操作,如广播、统计、线性代数等,远远超出了原生列表的功能

三、安装和配置

3.1  使用pip安装Numpy

(具体可参考本up主之前的文章:Python---Pycharm安装各种库(第三方库)_pycharm库-CSDN博客)

pip install numpy

四、Numpy库的基本操作

4.1、  数组创建和初始化 

import numpy as np

# 通过列表创建数组
arr = np.array([1, 2, 3])

# 初始化零数组
zeros_arr = np.zeros((3, 4))

# 初始化单位矩阵
identity_matrix = np.eye(3)

4.2、  数组索引和切片 

# 数组索引
element = arr[0]

# 数组切片
sub_array = arr[1:3]

4.3、  数组形状和维度

# 获取数组形状
shape = arr.shape

# 获取数组维度
dimension = arr.ndim

五、数学运算 

5.1、  数组元素级运算 

# 数组加法
sum_arr = arr + 5

# 数组乘法
product_arr = arr * 2

5.2、  数组之间的运算 

# 数组相加
result_arr = arr1 + arr2

# 数组点乘
dot_product = np.dot(arr1, arr2)

5.3、  常见数学函数

# 正弦函数
sin_arr = np.sin(arr)

# 指数函数
exp_arr = np.exp(arr)

六、统计和线性代数

6.1、  常用统计操作 

# 计算均值
mean_value = np.mean(arr)

# 计算方差
variance_value = np.var(arr)

6.2、   矩阵操作与线性代数运算

# 矩阵乘法
matrix_product = np.matmul(matrix1, matrix2)

# 矩阵转置
transpose_matrix = np.transpose(matrix)

七、广播机制 

        NumPy的广播机制允许在不同形状的数组之间执行操作,使得代码更加简洁。

# 广播示例
broadcasted_arr = arr + np.array([10, 20, 30])

八、随机数生成 

# 生成随机整数
random_int = np.random.randint(1, 10, size=(3, 3))

# 生成随机正态分布数组
random_normal = np.random.normal(loc=0, scale=1, size=(3, 3))


# 设置随机数生成的种子
np.random.seed(42)

九、文件操作

9.1、 读取和写入NumPy数组

# 保存数组到文件
np.save('my_array.npy', arr)

# 从文件加载数组
loaded_arr = np.load('my_array.npy')

9.2、  与常见数据格式的交互(CSV、文本文件) 

# 保存数组到CSV文件
np.savetxt('my_array.csv', arr, delimiter=',')

# 从CSV文件加载数组
loaded_csv_arr = np.loadtxt('my_array.csv', delimiter=',')

十、结语

官方参考文档:

NumPy documentation — NumPy v1.26 Manual --- NumPy 文档 — NumPy v1.26 手册icon-default.png?t=N7T8https://numpy.org/doc/stable/

你可能感兴趣的:(python,numpy,开发语言)