拜师教育第一阶段day3_Python数据分析

第三章   numpy的使用

1.numpy的优势:方便、快捷、是科学计算的基础库,主要侧重对数值型数据的处理,一般用来处理大型、多维数组(数组array:列表、多个嵌套的列表、矩阵类型)的数值运算。

2.numpy的使用:

(1)numpy的导入与数组的创建:在使用numpy下的函数时,要在.py文件开头导入该包import numpy as np。可以通过a=np.array([0,1,2,3,4,5])创建一个一维数组,它等价于语句np.arange(6)和np.array(range(6)),值得说明的是,这里的arange()与range()一样均是“包头不包尾”的使用规则。在np.arange()中可以添加步长(但在其中添加步长参数时要补全其余各参数,包括起始值、终止值、步长),也可以通过dtype=int指定创建元素的类型为“int”。

(2)数组的类型与数组中数据的类型:通过type(a)获得数组的类型为numpy.ndarray,通过a.dtype这个属性(是属性,不需要加())获得数组a中元素的类型。

numpy中常用数据类型表:

(3)数据类型的操作:可以在创建时指定元素的数据类型a=np.array([1,0,1,0,1,0],dtype='bool')此时创建的类表中只包含布尔量(True、False)。若数据并非通过创建获得,则对已存在的数组进行修改元素类型的操作为b=a.astype('float'),不过这个函数存在返回值,即并非对原数组进行修改,所以常需要对数组的修改结果进行接收。另外,可以通过np.round(b,2)将数组b的浮点型元素修改为只保留两位小数。

(4)数组的形状(块数、行数、列数):可以通过a.shape这个属性返回数组a的形状(以元组进行表示,其中元组中有几个数字就对应数组是几维度)。当为一维时,返回数字代表个数,当为二维时,返回的元组代表矩阵的行数和列数,当为三维时,返回的三个数字分别对应数组的块数,每块中矩阵的行数和列数。通过元组中返回的数字可以计算构成元组总共需要的元素的数目为数组中各数字的乘积。通过a.reshape(行数,列数)可以在不改变原数组的情况下,生成指定行数和列数的新数组。可以通过a.flatten()将数组转换为一维数组。

(5)数组与数、数组与数组的计算:数组与一个数字进行加、减、乘、除运算是将其中包含的每个元素进行相应的四则运算。这里需要补充说明的是,numpy数组中一个数字除以零返回的是inf(无穷大),零元素除以0返回的是nan(not a number)。对于相同形状的两个数组,进行四则运算时只需要按照对应位置进行四则运算即可(故这里的数组乘除法并非矩阵的乘法与除法,要注意区分)。

(插入说明):广播原则:如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或者其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失和长度为1的维度上进行。(个人理解:就是看两个数组.shape()的返回值从后往前看是否都一致,长短可以不同,但短的维

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值