Python数据清洗之numpy库

概述

  1. numpy是Python常用库之一,numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库!

  2. numpy比Python列表更具优势,其中一个优势便是速度。在对大型数组执行操作时,numpy的速度比Python列表的速度快了好多。因为numpy数组本身能节省内存,并且numpy在执行算术、统计和线性代数运算时采用了优化算法。

  3. numpy的另一个强大功能是具有可以表示向量和矩阵的多维数组数据结构。numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题。

  4. 与Python列表相比,numpy具有的另一个强大优势是具有大量优化的内置数学函数。这些函数使你能够非常快速地进行各种复杂的数学计算,并且用到很少代码(无需使用复杂的循环),使程序更容易读懂和理解。

numpy中数组的创建

一维数组的创建

在使用库前,先导入库

import  numpy  as  np

np.array 指定数组基本元素类型

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

np.arrange函数,取值左包含右不包含

np.arange(10)
#array([0,1,2,3,4,5,6,7,8,9])
np.arange(0,6,0.5)
#array([0,0.5,1,1.5,2,2.5,3,3.5,4,4.5])
np.arange(5,0,-1)
#array([5,4,3,2,1])

np.linspace 默认是取值左右都包含,这个函数里面有一个参数endpoint,是一个布尔值,可以通过对这个参数的设定,来选择是否包含最后一个数值。

np.linspace(0,9,3) 
#array([1,5,9])
np.linspace(1,9,3,endpoint=False)
#array([1,3.6666667,6.3333333])

二维数组的创建

b=np.array([[1,2,3],[4,5,6]])
c=np.array([[1,"2",3],[4,"5",6]]) 
d=np.array([[1,"2",3],["4",5,6]]) 
e=np.array([[1,"2",3],["4",5,6]],dtype="object")
#当不指定数据类型时,当有数字和字符串时,输出都是字符串类型
#当指定dtype='object'时,输入是什么类型,输出的也是什么类型

创建数组时候的注意事项

  • 输入的数组要工整,否则会出现后续一系列处理问题
  • 输入数组里面的元素最好是同一类型,如果不是同一类型,最好指定dtype=“object”,否则如果既不是同一类型,又没有指定数组类型为object,那么生成数组之后可能被强制转化为字符串

数组的属性

ndim属性,查看数组维度

a=np.array([[1,2,3],[4,5,6]]) 
a.ndim  #返回2

shape属性 ,查看数组的形状,返回的是一个数组

a.shape  #返回(2,3)

size属性,查看包含几个基本元素

a.size  #返回6

dtype属性 ,查看数据类型

a.dtype  #返回dtype('int32')

itemsize属性 ,查看每个字节占的内存

a.itemsize  #返回4
#如果想查看数组实例的其他属性可以运行下面的代码 
help(a)

缺失值问题

#np.nan是一个float类型的值 
type(np.nan) 

#定义一个含有缺失值的字符串数组
#方法一
#a的类型为object 
a=np.array(["1","2",None]) 
print(a[2]) 

#方法二
a=np.array(["1","2",np.nan],dtype="object") 
a

np.isnan函数

a=np.array([1,2,3,np.nan]) 
np.isnan(a) 
#这个函数的参数不能是字符串,或者是字符串组成的数组,可以是一个数值或者数值组成的数组。返回False 

一些特殊数组的快速创建

元素全部为0的数组

np.zeros((2,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值