Python(十)numpy

本文详细介绍了Python的NumPy库,包括Ndarray对象、数据类型(dtype)、数组创建、属性、切片索引、高级索引、数学运算、排序和筛选函数、数组的合并与分割。NumPy是Python中用于数组计算的重要库,与SciPy和Matplotlib一起构建强大的科学计算环境。文章讲解了NumPy创建数组的各种方法,如empty、zeros、ones和eye,并阐述了数组属性和迭代操作,以及高级索引和数学运算功能,如排序和条件筛选。

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

目录

 

NumPy Ndarray 对象

数据类型对象 (dtype)

NumPy 创建数组

NumPy 数组属性

NumPy 切片和索引&迭代数组

NumPy 高级索引

NumPy 数学运算

 NumPy 排序、条件刷选函数

 numpy array的合并

 numpy array的分割


数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。

NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:a)、一个强大的N维数组对象 ndarray;b)、广播功能函数;c)、整合 C/C++/Fortran 代码的工具;d)、线性代数、傅里叶变换、随机数生成等功能

NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。

SciPy 是一个开源的 Python 算法库和数学工具包。

SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。

NumPy Ndarray 对象

 N 维数组对象 ndarray是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。

创建一个 ndarray 只需调用 NumPy 的 array 函数即可:

numpy.array(object,dtype = None,copy = True,order = None,subok = False,ndmin = 0)

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类类型一致的数组
ndmin 指定生成数组的最小维度
import numpy as np

array = np.array([[1,2,3],[2,3,4]])

print('number of dim:', array.ndim)

print('shape:', array.shape)

print('size:', array.size)

数据类型对象 (dtype)

描述
bool_ 布尔型数据类型(True 或者 False)
int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
intc 与 C 的 int 类型一样,一般是 int32 或 int 64
intp 用于索引的整数类型(类似于 C 的 ssize_t,一般情况下仍然是 int32 或 int64)
int8 字节(-128 to 127)
int16 整数(-32768 to 32767)
int32 整数(-2147483648 to 2147483647)
int64 整数(-9223372036854775808 to 9223372036854775807)
uint8 无符号整数(0 to 255)
uint16 无符号整数(0 to 65535)
uint32 无符号整数(0 to 4294967295)
uint64 无符号整数(0 to 18446744073709551615)
float_ float64 类型的简写
float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32 单精度浮点数,包括:1 个符号位,8 个指数位,23 个尾数位
float64 双精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
complex_ complex128 类型的简写,即 128 位复数
complex64 复数,表示双 32 位浮点数(实数部分和虚数部分)
complex128 复数,表示双 64 位浮点数(实数部分和虚数部分)

NumPy 创建数组

numpy.empty(shape,dtype = float,order =‘C')   用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组。

【其中:shape——数组形状,dtype——数据类型(可自选),order ——有行优先"C"列优先"F"两个选项,,在计算机内存中的存储元素的顺序。】

numpy.zeros(shape,dtype = float,order =‘C')创建指定大小的数组,数组元素以 0 来填充。

numpy.ones(shape,dtype = None,order =‘C')创建指定形状的数组,数组元素以 1 来填充。

numpy.eye(N,M=None,k=0,dtype = <class 'float'>,order =‘C')创建一个对角矩阵,N代表行数,M代表列数(默认M=N),k=0,1,2,…右上方第k条对角线元素为“1”,其余0;k=负整数,左下方第k条为1,其余为0.

numpy.asarray(a,dtype = None,order =None)类似 numpy.array,但表示从已有的数组(如list、tuple)创建数组

    x = [(1,2,3),(4,5)]     a = np.asarray(x)        得到的a即为:[(1, 2, 3) (4, 5)]

x = [1,2,3]     a = np.asarray(x)        得到的a即为:[1 2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值