数据分析常用库——numpy

Numpy库:(快速、方便、科学计算的基础库)

一个在Python中做科学计算的基础库,重在数值计算,也是大部分PYTHON科学计算库的基础库,常用于大型、多维数组上执行数值计算。

Numpy中的(axis):
简单理解为方向,使用0,1,2…数字表示,对于一位数组,只有一个0轴,对于二维数组,有0轴和1轴,对于三维数组有0,1,2轴。
二维数组轴

Numpy数组的广播原则

如果两个数组的后缘维度(即从末尾开始算起的维度)的轴长度相符或者其中一方的长度为1,则认为它们是广播兼容的,广播会在缺失和(或)长度为1的维度上进行。

值得一提的是:numpy数组的广播机制,在计算过程中,加减乘除的值会被广播到所有的元素上面

Numpy常用操作

创建:a = np.array([1,2,3,4,5]) / a = np.array(range(1,6)) / a = np.arange(1,6):类型为ndarray数组
指定常见数据类型dtype、修改数组的数据类型astype
a = np.array([1,0,1,0], dtype=np.fool)
查看数组的形状:a.shape
修改数组的形状:a.reshape(返回的输出值,原数组不变)
把数组转化为一维度数组:a.flatten() 不能用a.reshape(1,12):尝试一下发现并非一维数组

Numpy读取数据:

CSV:逗号分隔值文件/显示:表格状态
源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示一条记录
对于txt文件:np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
dtype:默认情况下对于较大的数据会将其变为科学技术的方式
delimiter:分隔字符串,默认是任何空格,改为 逗号(指定边界符号是什么,不指定将会导致每行数据为一个整体的字符串而报错)
skiprows:跳过前X行们一般跳过第一行表头
usecols:读取指定的行列,索引,元组类型

 unpack:若True,读入属性将分别写入不同数组变量,False读入数据值写入一个数组变量,默认为	    False(效果实例:默认是False(0),默认情况下有多少条数据就会有多少行,为True(1)的情况下,每一列数据会组成一行,原始数据有多少列,加载出来的数据就会有多少行,相当于转置的效果numpy中转置的处理方t.transpose()/t.swapaxes(1,0)/t.T)

Numpy索引和切片

取行/列:a[1]:取一行 a[:,2]:取一列 a[1:3]:取多行 a[:,2:4]:取多列
		a[[1,3],:] / a[:,[2,4]]:取特定行列

Numpy中数据的修改:a[1:3,2:4]=0

Numpy中布尔索引:t[t<10]=0

	 三元运算符:np.where(t<10,0,10):小于10替换为0,其余替换为10
	 clip(裁剪):t.clip(10,18):小于10替换为10,大于18替换为18,nan不会被替换

Numpy中的nan和inf

当读取本地的文件为float时,若有缺失,就会出现nan(或者做了不合适计算)
Inf表示正无穷、-inf表示负无穷
注意: 两个nan是不相等的
判断nan的个数:np.count_nanzero(t!=t)/判断是否为nan:np.isnan(t)
nan和任何值计算都为nan

Numpy中常用函数

求和:t.sum(axis=None)
均值:t.mean(a,axis=None) 受离群点的影响较大
中值:np.median(t,axis=None)
最大值:t.max(axis=None)
最小值:t.min(axis=None)
极值:np.ptp(t,axis=None) 即最大值和最小值只差
标准差:t.std(axis=None)
获取最大值最小值的位置
np.argmax(t,axis=0)
np.argmin(t,axis=1)
创建一个全0的数组: np.zeros((3,4))
创建一个全1的数组:np.ones((3,4))
创建一个对角线为1的正方形数组(方阵):np.eye(3)

处理缺失值,用pandas库更方便
numpy中复制用函数a=b.copy()
数据拼接:np.vstack((t1,t2)):竖直拼接 / np.hstack((t1,t2)):水平拼接
行列交换:t[[1,2],:]=t[[2,1],:]:行交换 / t[:,[0,2]]=t[:,[2,0]]:列交换

ps:数据分析这部分是根据黑马视频写的,也不知道有没有侵权…大家一起学习,有需要资源的朋友可以留言
剩下的再发现的问题,随时补充吧

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值