Python常用包学习(一)NumPy包(理论+动手实践)

本文介绍了Python科学计算库NumPy,重点讲解了其核心数据结构ndarray,包括创建、属性、数据类型、形状修改以及基本操作。通过实例展示了如何创建、操作和使用ndarray,如array、zeros、ones、empty函数,以及reshape、astype方法。还讨论了ndarray的索引、切片、转置和通用函数(ufunc),如np.where和np.unique的功能和使用。
摘要由CSDN通过智能技术生成

Python常用包学习(一)NumPy包

天我们主要来学习NumPy包常用的一些操作

官网:http://www.numpy.org/

官方文档:https://docs.scipy.org/doc/numpy/user/index.html

NumPy模块基本介绍

NumPy模块是Python的一种开源的数值计算扩展,是一个用python实现的科学计算包,主要包括:

  •  一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为ndarray(N-dimensional array object)
  •  用于对整组数据进行快速运算的标准数学函数:ufunc(universal function object)
  •  实用的线性代数、傅里叶变换和随机数生成函数。
  •  NumPy和稀疏矩阵的运算包Scipy配合使用更加方便。

 

NumPy核心数据结构:ndarray

  • NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。
  •  一种由相同类型的元素组成的多维数组,元素数量是实现给定好的
  •  元素的数据类型由dtype(data-type)对象来指定,每个ndarray只有一种dtype类型
  •  ndarray的大小固定,创建好数组后数组大小是不会再发生改变的

 

ndarray创建

普通方式创建

函数创建:

  • array函数:接收一个普通的python序列,并将其转换为ndarray
  • zeros函数:创建指定长度或者形状的全零数组。
  • ones函数:创建指定长度或者形状的全1数组。
  • empty函数:创建一个没有任何具体值的数组(准备地说是创建一些未初始化的ndarray多维数组)
  • arange函数: 类似python的range函数,通过指定开始值、终值和步长来创建一个一维数组,注意:最终创建的数组不包含终值
  • linspace函数:通过指定开始值、终值和元素个数来创建一个一维数组,数组的数据元素符合等差数列,可以通过endpoint关键字指定是否包含终值,默认包含终值
  • logspace函数:和linspace函数类似,不过创建的是等比数列数组
  • 使用随机数填充数组,即使用numpy.random中的random()函数来创建0-1之间的随机元素,数组包含的元素数量由参数决定

 

ndarray属性

  • ndim 数组轴(维度)的个数,轴的个数被称作秩
  • shape 数组的维度, 例如一个2排3列的矩阵,它的shape属性将是(2,3),这个元组的长度显然是秩,即维度或者ndim属性
  • size 数组元素的总个数,等于shape属性中元组元素的乘积。
  • dtype 一个用来描述数组中元素类型的对象,可以通过创造或指定dtype使用标准Python类型。不过NumPy提供它自己的数据类型。
  • itemsize 数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsiz属性值为8(=64/8),又如,一个元素类型为complex32的数组item属性为4(=32/8).

 

NumPy基本数据类型

数据类型

类型简写

说明

int_

 

默认整形

intc

 

等价于long的整形

int8

i1

字节整形,1个字节,范围:[-128,127]

int16

i2

整形,2个字节,范围:[-32768,32767]

int32

i3

整形,4个字节,范围:[-2^31, 2^31-1]

int64

i4

整形,8个字节,范围:[-2^63, 2^63-1]

uint8

u1

无符号整形, 1个字节, 范围

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路易三十六

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值
>