Numpy介绍

本文详细介绍Numpy库的功能,包括强大的N维数组对象ndarray的创建与操作,线性代数、傅里叶变换、随机数生成等功能,以及如何整合C/C++/Fortran代码。同时,讲解了ndarray的属性、类型变换、维度变换和运算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Numpy是一个开源的Python科学数据库

  1. 一个强大的N维数组对象 ndarray
  2. 广播功能函数
  3. 整合C/C++/Fortran代码工具
  4. 线性代数、傅里叶变换、随机数生成等功能

N维数组对象ndarray

np.array()生成一ndarray数组
np.array()输出成[]形式,元素由空格分割

ndarray对象的属性

属性说明
a.ndim秩,即轴的数量或维度的数量
a.shapendarray对象的尺度,对于矩阵,n行m列
a.sizendarray对象元素的个数,相当于.shape中n*m的值
a.dtypendarray对象的元素类型
a.itemsizendarray对象中每个元素的大小,以字节为单位

ndarray数组的创建

  1. x=np.array(list/tuple,dtype=np.float32)
  2. 使用NumPy中函数创建ndarray数组
    np.arange(n)
    np.ones(shape) 生成一个全1数组,shape是元组类型
    np.zeros(shape) 根据shape生成一个全0数组,shape是元组类型
    np.full(shape,val) 根据shape生成一个数组,每个元素值都是val
    np.eye(n) 创建一个正方的n*n单位矩阵,对角线为1,其余为0
    np.ones_like(a) 根据数组a的形状生成一个全1数组
    np.zeros_like(a) 根据数组a的形状生成一个全0数组
    np.full_like(a,val) 根据数组a的形状生成一个数组,每个元素值为val
    np.linspace() 根据起止数据等间距地填充数据,形成数组
    np.concatenate() 将两个或多个数组合并成一个新的数组

ndarray数组的维度变换

方法说明
a.reshape(shape)不改变原数组,返回一个shape形状的数组,原数组不变
a.resize(shape)与a.reshape()功能一致,但修改原数组
a.swapaxes(ax1,ax2)将数组n个维度中两个维度进行调换
a.flatten()对数组进行降维,返回折叠后的一维数组,原数组不变

ndarray数组的类型变换

new_a=a.astype(new_type)
astype()方法一定会创建新的数组(原始数组的一个拷贝),即使两个类型一致。

ndarray数组向列表的转换 ls=a.tolist()

ndarray数组的运算

数组与标量之间的运算作用于数组的每一个元素。
a.mean()
a=a/a.mean()

np.abs(x), np.fabs(x)绝对值
np.sqrt(x), np.square(x)平方根,平方
np.log(x), np.log10(x), np.log2(x)自然对数,10底对数,2底对数
np.ceil(x), np.floor(x)不超过元素的整数值,小于这个元素的最大整数值
np.rint(x)各元素的四舍五入值
np.modf(x)将数组各元素的小数和整数部分以两个独立数组形式返回

在这里插入图片描述

NumPy是Python中一个非常核心且不可或缺的科学计算库,它提供了高效的数组操作和数学函数,使得数据处理变得简单且快速。NumPy的核心是`numpy.ndarray`,这是一个多维数组对象,它可以存储各种数据类型,并支持广播机制、切片、索引等操作。 NumPy的主要特点包括: 1. **数组对象**:NumPy数组是带有维度的大型数组,类似于R语言中的向量或矩阵,非常适合处理大量数据。 2. **数据类型**:NumPy数组支持固定大小的数据类型,这使得内存管理高效,避免了不必要的类型转换。 3. **数学运算**:内置了大量的数学函数,可以直接对数组进行运算,如加减乘除、三角函数、指数对数等。 4. ** broadcasting**:NumPy的广播功能允许不同形状的数组之间进行元素级别的运算,简化了操作过程。 5. **兼容性**:NumPy与其他Python科学计算库(如Pandas, SciPy)高度兼容,是数据处理和分析的基础。 使用NumPy通常包括以下步骤: - **安装**:如果你还没安装,可以通过pip(Python包管理器)命令 `pip install numpy` 来安装。 - **导入模块**:在Python脚本中,使用 `import numpy as np` 导入NumPy,并用`np`作为别名来调用函数和方法。 - **创建数组**:可以使用`np.array()`函数创建数组,或使用特殊构造函数如`np.zeros()`、`np.ones()`等。 - **数组操作**:例如,对数组进行索引、切片、排序、统计等操作,以及使用`np.dot()`或`@`符号进行矩阵运算。 - **函数应用**:使用`np.apply_along_axis()`等函数对数组沿着指定轴进行操作。 以下是一些常见NumPy操作的例子: ```python import numpy as np # 创建数组 arr = np.array([1, 2, 3, 4, 5]) print(arr) # 数组操作 print(arr[2:4]) # 切片操作 print(np.sum(arr)) # 求和 # 数学函数 print(np.sin(arr)) # 广播示例 arr1 = np.array([1, 2]) arr2 = np.array([3, 4, 5]) print(arr1 + arr2) # 两个不同形状数组的相加 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值