Python数据分析Numpy库常用函数详解

image.png

Python进行数据分析的核心库肯定是Pandas,该库差不多可以解决结构化数据的绝大部分处理需求。在《Python数据分析常用函数及参数详解,可以留着以备不时之需 》一文中也已经对该库的常用函数进行了详细介绍。

但是Pandas是构建在Numpy的基础之上的,它的矢量化运算功能在处理数组和矩阵上具有着非常大的优势。虽然普通的数据分析任务可能很少用到Numpy库,但一旦你具有循环需求或是要处理数值型数据时,你应该首先想到该库。

本文整理了该库的一些常用函数和基础知识,整理不易,希望觉得还不错的朋友可以不吝给个赞。

基础介绍

在介绍函数之前先介绍下Numpy库的基本情况,该库最重要的特点就是其ndarray对象,这个对象可以理解成线性代数里面的数组,每个数组有维度和类型等属性。

维度

直观地判断数组对象有几个维度可通过判断其包含在几层[]中,一层[]即为一维。其中,一维数组可看成是向量,二维数组可看成是有行和列的数据,三维数组可看成是有页,且每页中有行和列的数据,至于更高维度就只能意会了。

类型

数组并不是只能存数值型数据,是也可以存字符串的,但它要求元素类型必须一致,不一致时会按照str > float > int的优先级进行类型转变。例如,在一个整数数组中插入字符串,就会将全部元素转成字符串类型。

另外说一下广播机制。通俗地理解广播机制就是当对不同形状的数组进行算术运算时,广播机制会自动将两个数组补全为相同形状的数组。但需要具备以下前提条件之一:两个数组维度数不等时,二者从末尾开始算起的维度的轴长度相等;两个数组维度数相等时,其中一方的有一个维度的长度为1。关于这一点的理解最好是多加练习。

Numpy常用函数分类

为了更好地理解该库的函数,本文将常用的函数按照下面方式进行分类。

image

其中基础函数包含对象创建、属性查看、切片索引、形状变换等小类;random模块就是一些常用的随机函数;char模块主要是用来处理字符数组类,也就是数组元素是字符串类型的数据;Matlib是Numpy中的矩阵库,矩阵其实是一种特殊的数组,但它必须是二维的;linglg库是属于线性代数的函数库。

后三个库的函数一般常用于科学计算和图像识别等领域,在数据分析中几乎用不上,因此本文不做介绍,但大家应该知道有这两个库,便于有需求时知道Numpy也具备相应的功能。

基础函数

以下均用arr表示数组,np表示numpy库

(1)对象创建

array(object, dtype =None,order =None, ndmin =0)  
#order为创建方式,C为行方向,F为列方向,默认为C,ndmin指定生成数组的最小维度 
arange(start=0,stop=4,step=,dtype=)  
#生成一维数组,不包含stop 
linspace(start=,stop=,num=,endpoint=True)  
#生成一维等差数据,endpoint决定是否包含stop值,默认包含 
asarray(object,dtype=None,order=None)  
#将对象转换为数组 
zeros(shape,dtype=float,order='C')  
#生成元素全为0的数组 
ones(shape,dtype=float,order='C')  
#生成元素全为1的数组 
eye(N,dtype=float,order='C')  
#生成对角线元素为1,其余元素为0的N阶矩阵 

(2)属性查看

arr.shape  
#数组的形状 
arr.ndim 
#数组的维度 
arr.size 
#数组的长度 
arr.dtype 
#数组数据类型 

(3)切片索引

arr[i]  
#取i行 
arr[[i,j]]  
#取i,j行 
arr[:,i:j]  
#取i到j-1列 
arr[::-1,::-1]  
#元素反转 
np.where(condition,x,y)  
#condition为真的数组中数据赋值x,否则为y 

(4)形状变换

arr.reshape(newshape,order=None) 
#newshape为新维度,元组格式 
arr.flatten(order='C')  
#将数组平铺为一维数组,order表示按行还是按列,默认按行 
arr.T  
#数组转置 
arr.transpose() 
#数组转置 
np.append(arr,values,axis=None)  
#axis控制返回什么类型,默认返回的是拼接后的一维数组 
np.concatenate((arr1,arr2,arr3),axis=0)  
#可拼接多个数组 

(5)统计函数

arr.sum(axis = None)  
#axis为整数或者元组  
arr.mean(axis = None)  
#计算平均值 
arr.std(axis = None) 
#计算标准差  
arr.var(axis = None) 
#计算方差   
np.average(arr,axis =None, weights =None) 
#计算数组的加权平均值,weights中为权重 
np.median(arr,axis=None) 
# 计算数组中元素的中位数  
arr.argmin(axis=None)  
##返回数组最小值的位置  
arr.argmax(a) 
#返回数组最大值的位置  
np.dot(arr1,arr2)  
#数组的点积运算 

random库

随机函数在生成练习数据等方面是非常有帮助的,可以重点掌握一下。

np.random.rand(d0,d1,d2,……)  
#返回输入维度的随机数,随机数服从[0, 1)区间的均匀分布  
np.random.randn(d0,d1,d2,……) 
#返回输入维度的标准正态分布随机数  
np.random.normal(loc=0.0,scale=1.0,size=None) 
#返回输入维度的正态分布随机数,可控制正态分布的期望和方差 
np.random.randint(low=,high=,size=None,dtype='l')  
#返回属于[low,high)区间的随机整数,size可为元组  
np.random.seed(s)  
#随机数种子,可保证两次随机数生成的结果一样 

来源:本文为第三方转载,如有侵权请联系小编删除。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270