numpy数组按某⼀维度相加_NumpyPandas数据分析基础知识
及案例应⽤
表的数据结构进⾏分析)在数据分析领域中,⽤到最多的包是numpy(⽤于数学计算)、pandas(基于numpy的数据分析⼯具,⽅便对表
和matplotlib(图形绘制库,⽤于数据分析结果的可视化)。本⽂⾸先了解下Numpy和pandas在数据分析中的⼀些基本操作。
本⽂结构如下:
⼀、⼀维数据分析
⼆、⼆维数据分析
三、案例:销售数据分析
⼀、⼀维数据分析
Numpy中表⽰⼀维数组的是array,pandas表⽰⼀维数组的是Series。Series是建⽴在numpy基础上的,计算机语言与程序设计
⽐array有更多的功能。使⽤这两个数组⾸先⽤import导⼊numpy和pandas这两个包。补码的求和运算
(⼀)Numpy ⼀维数组array
定义⼀个数组:
查询访问array中的元素:
通过for i in 数组名遍历数组中的元素:
通过数组名.dtype查看数组中元素的数据类型:
Numpy数组array和列表的区别:
1、array可以进⾏统计功能,如求平均值mean(),标准差std()
2、array可以进⾏向量化运算(相加、乘法)
查看下图中array和列表相加结果的区别。
3、array中元素必须是同⼀种数据类型,列表中的元素可以是不同数据类型。
如图,虽然数组array1中的元素1和3看起来是数据类型,但是在打印出来之后,1和3都作为字符串类型了。⽽列表list1中的1和3打印出来是数据类型。
上图array2中的元素包含列表和字符串,两种数据类型不相同,在打印的时候就会报错,如果将1和3也改成列表,就可以打印了:
可以看到array2⾥的元素是3个列表。
(⼆)pandas ⼀维数组Series
Series和array的主要区别是Series可以通过索引定位数组中的数据。在定义的时候通过index定义索引。
Series⾸字母应⼤写,不然会报错。⽽定义array的时候⾸字母不⽤⼤写。Series后⾯接⼩括号,⼩括号前半部分是列表形要注意这⾥的Series⾸字母应⼤写
式的元素,后半部分是⽤index=[]指定每个元素的索引,⽅便以后通过索引访问其中的元素。
数组名.describe():可以通过describe获取数组的描述统计信息(元素个数,平均值,标准差,四分位
数,最⼤最⼩值),数组名.describe()
获取数组中的元素:
⽅法⼀:⽤iloc属性根据位置获取元素
⽅法⼆:⽤loc属性根据索引获取对应的元素
Series向量运算:
1、⽤加号+直接相加,索引值相同的元素才会相加,只出现在⼀个数组⾥的索引相加之后的值为空值。
在数据分析中,可以通过Ser.dropna()删除掉空值。
2、⽤add将两个数组相加,并⽤fill_value指定⼀个数据来填充缺失值。下⾯两个图展⽰了⽤0和1分别进⾏填充,⽐如’c’在s1中,但s2中没有’c’,就⽤0填充s2中的’c’
⼆、⼆维数据分析
相⽐于⼀维数据,⼆维数据既有⾏也有列,相当于Excel⾥的表格。
Numpy中通过array创建⼆维数组,pandas中通过DataFrame(数据框)创建⼆维数组。
numpy创建⼆维数组
重庆web前端培训机构
通过array创建⼆维数组,⽤中括号包括起来,中括号⾥⾯是中括号(列表)包括起来的每⼀⾏数据,列表之间通过逗号隔开。每个列表中元素个数代表列个数。
查询和获取元素:
数组名.[a,b],其中a代表⾏号,b代表列号:
python基础知识整理查询⼆维数组中的元素,通过⾏号和列号查,⼆维数组的⾏列号都是从0开始的,数组名.[a,b],其中a代表⾏号,b代表列号
查询其中⼀个元素:
获取第⼀⾏(切⽚功能‘:’):
获取第⼀列(切⽚功能‘:’):
numpy⼆维数组描述统计
所有元素的描述统计信息。如:
如果直接使⽤sum(),mean()统计数组,得出的是包含所有元素
但在实际数据分析中,对于⼀个⼆维表格,通常⾏列是不同类型的数据,⼀般不会统计所有元素的描述统计信息,只需要统计某些列/⾏的描述统计信息,这时可以在函数后⾯加axis指定⾏列计算
axis=1代表按⾏计函数后⾯加axis指定⾏列计算,即为numpy的数轴参数,这种⽅式叫做按轴计算。其中axis=1代表按⾏计算每⾏的描述统计信息,axis=0代表按列计算。
算每⾏的描述统计信息,axis=0代表按列计算
Numpy⼀维数组中的元素必须都是同⼀类型,同样的,⼆维数组中的元素也必须都是同⼀类型,但对于表述Excel中的数据,就不适⽤了,因为Excel中每列的数据类型⼀般都不⼀样。这时就需要⽤pandas中的⼆维数组dataframe数据框。
(⼆)pandas创建⼆维数据chmod给文件夹下所有文件授权
Pandas⼆维数组相⽐numpy⼆维数组有两个优点:
1. 数据框的每⼀列都可以是不同类型的数据,⽅便表⽰Excel中的数据。
linux强制安装rpm命令2. 有类似pandas中series⾥的索引功能,即⼆维数组的每⾏每列都有⼀个索引值,很适合⽤来存放表格数据。
创建⼀个⼆维数组,⾸先通过键(列名)值(列名对应的值)对创建⼀个字典,再⽤pandas中的dataframe将字典转换成⼆维数组。
上图中可以看出数组中的列顺序与定义字典时的顺序不⼀致,为了更好的展⽰原数据结构,可以通过有序字典OrderedDict先对字典排序,再转换成数组,见下图:
求平均值

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。