numpy序列预处理dna序列_NumPy使用教程:NumPy介绍,核心数据对象ndarray基本使用和创建...

236efe59efeee07978e308d56f6240de.gif

NumPy介绍

NumPy是Python开源的科学计算工具包,提供多维数组运算,矩阵运算,为Python其他科学计算库提供底层支持(pandas是基于numpy开发出来的更高级的数据分析包)

NumPy库能够对全量数组进行复杂运算,不需要写Python遍历循环实现计算,本身使用C语言实现,所以其内存使用更少、计算性能更强,性能好于Pyhton

NumPy多应用:生产随机数、线性分布、傅里叶变换等样本数据!

ae870a0ee05297cc3b32dd2077393a18.png

NumPy 与 Python性能比较

ea293b82ed4d773b5e1efadc70785078.png

输出:

  • NumPy用时: 25.9 ms
  • Python用时: 1.04 s

ndarray,多维数组对象

NumPy核心数据结构是多维数组,即ndarray,所有数组操作都离不开ndarray

ndarray对象属性介绍:

  • .ndim 输出数组维度的个数(轴数)
  • .shape 数组的维度
  • .size 数组元素总数
  • .dtype 数组中元素的类型
  • .itemsize 数组中每个元素的字节大小
9c69bf0142591eb7acf96c60869dad71.png

数组的维数称为秩,一维数组的秩为1,二维数组的秩为2

创建ndarray对象

0x01 np.array,创建多维数组

使用np.array方法创建数组,输入参数可以是任意序列(列表、元组、数组、生成器以及numpy数组等)

b04db464919504f9b14b8d41ee13fde0.png

0x02 np.arange,创建一维数组

使用np.arange()方法构建N维组数

3f8a6f0b1f472703db1b90f588873537.png

一般使用np.arange()方法,先创建一个一维值序列,再使用reshape方法变换高维数组形状

e9ae530f5661069c3d05b8d378951f45.png

0x03 np.linspace,创建一维数组

使用linspace(start, stop, num=50,endpoint=True,retsep=False, dtype=None),返回在间隔【开始,结束】上计算的num个均匀间隔的数值样本

  • start:起始值,stop:结束值
  • num,生产样本数
  • endpoint,为True,包含,为False,不包含
  • retstep,为True,返回样本步长,即样本间隔长度,默认为False
df21d8ffc40ae709b2eca5725ba3bec9.png

0x04 np.zeros,生成全零数组

使用np.zeros方法生成全零数组,若创建高维数组,需要传入元组参数

b0ce5e69f851ca4ace9d555e82dde2b1.png

0x05 np.zeros_like

np.zeros_like方法,根据所给定的ndarray对象生成对应的全零数组

becfc8dab6ed64e339d911425e49a571.png

0x06 np.ones,生成全一数组

使用np.ones方法,生成全一数组,若创建高维数组,需要传入元组参数

f6b2ef64d74f93129bc60dedd93dd635.png

0x07 np.ones_like

np.ones_like方法,根据所给定的ndarray对象生成对应的全一数组

bdfda0cc8f0bed11a11406e28fddc2c0.png

创建多维数组其他方法

  • np.empty 生成没有初始值的数组,若创建高维数组,需要传入元组参数
  • np.empty_like 根据所给定的ndarray对象生成没有初始值的数组
  • np.full 创建一个由常数填充的数组,第一个参数是数组,第二个参数是数组中填充的常数
  • np.full_like 同上
  • np.eye、np.identity生成NxN单位矩阵(左对角线是1,其他元素是0)

数组数据类型

ndarray对象中每个元素可以是以下任意数据类型:

878bc8b8518d6ef6a7b581971ce9e5ac.png

说明:

  1. 可以在创建数组的时候,指定数据类型
  2. 可改变已有数组的数据类型,通过astype()方法,生成新的数组

示例代码:

7c1d454917f92e4966ea60905dcf54b8.png

最后

如果内容有误,欢迎评论区指正!

喜欢我的朋友们,麻烦点一波关注,谢谢!

428567ec33cf4fb583613768b7d74321.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值