Python-NumPy模块-数组的处理

添加数组元素

append()函数

在数组的末尾添加元素

from numpy import array,append
a=array([[1,2,3],[4,5,6]])
b=append(a,[[1,2,3]])
print(b)

结果:
二维数组变成了一维数组。


在这里插入图片描述

不改变数组维度的情况下在数组末尾添加元素

from numpy import array,append
a=array([[1,2,3],[4,5,6]])
b=append(a,[[1,2,3]],axis=0)
print(b)

结果:


在这里插入图片描述

append()函数的参数axis也可以设置为1,表示元素会添加在数组的列方向上,也就是说,数组的列数会增加,而行数不变。

from numpy import array,append
a=array([[1,2,3],[4,5,6]])
b=append(a,[[1,2],[3,4]],axis=1)
print(b)

结果:


在这里插入图片描述

insert()函数

from numpy import array,insert
a=array([[1,2,3],[4,5,6]])
b=insert(a,1,[2,2,2])
print(b)

结果:


在这里插入图片描述

二维数组变成了一维数组,且插入的元素位于数组索引值1(第2个元素)之前。

在不改变数组维度的情况下,在数组的指定位置插入元素

from numpy import array,insert
a=array([[1,2,3],[4,5,6]])
b=insert(a,1,[9,9,9],axis=0)
c=insert(a,1,[9,9],axis=1)
print(b)
print(c)

结果:


在这里插入图片描述

删除数组元素

from numpy import array,delete
a=array([[1,2,3],[4,5,6],[7,8,9]])
a1=delete(a,2)
a2=delete(a,2,axis=0)
a3=delete(a,2,axis=1)
print(a1)
print(a2)
print(a3)

结果:


在这里插入图片描述

处理数组的缺失值

import numpy
a=numpy.array([1,2,3,4,5,numpy.nan])
print(a)
print(numpy.isnan(a))

结果:
np.nan即表示缺失值


在这里插入图片描述

利用isnan()函数对缺失值进行填充

import numpy
a=numpy.array([1,2,3,4,5,numpy.nan])
a[numpy.isnan(a)]=0
print(a)

结果:


在这里插入图片描述

处理数组的重复值

import numpy
a=numpy.array([1,2,5,6,4,5,6,1,2,3,8])
a1=numpy.unique(a)
a2=numpy.unique(a,return_counts=True)
print(a1)
print(a2)

结果:
调用unique()函数对数组arr进行去重处理。
unique()函数添加了一个参数return_counts,并设置参数值为True,用于查看去重后数组中的元素在原数组中出现的次数


在这里插入图片描述

拼接数组

concatenate()函数

import numpy
a=numpy.array([[1,2,3],[4,5,6]])
b=numpy.array([[11,22,33],[44,55,66]])
a1=numpy.concatenate((a,b),axis=0)
b1=numpy.concatenate((a,b),axis=1)
print(a1)
print(b1)

结果:


在这里插入图片描述

hstack()函数

以水平堆叠的方式拼接数组

import numpy
a=numpy.array([[1,2,3],[4,5,6]])
b=numpy.array([[11,22,33],[44,55,66]])
c=numpy.hstack((a,b))
print(c)

结果:


在这里插入图片描述

vstack()函数

以垂直堆叠的方式拼接数组

import numpy
a=numpy.array([[1,2,3],[4,5,6]])
b=numpy.array([[11,22,33],[44,55,66]])
c=numpy.vstack((a,b))
print(c)

结果:


在这里插入图片描述

拆分数组

split()函数

指定的份数将一个数组均分为多个数组

import numpy
a=numpy.array([1,2,3,4,5,6,7,8,9,10,11,12])
a1=numpy.split(a,2)
a2=numpy.split(a,4)
print(a1)
print(a2)

结果:


在这里插入图片描述

按照指定的索引位置拆分数组

import numpy
a=numpy.array([1,2,3,4,5,6,7,8,9,10,11,12])
a1=numpy.split(a,[2,6])
a2=numpy.split(a,[2,5,8])
print(a1)
print(a2)

结果:


在这里插入图片描述

hsplit()函数 vsplit()函数

hsplit()将一个数组横向拆分为多个数组
vsplit()将一个数组纵向拆分为多个数组

import numpy
a=numpy.array([[1,2,3,4,5,6],[1,2,3,4,5,6],[7,8,9,10,11,12],[7,8,9,10,11,12]])
a1=numpy.hsplit(a,2)
a2=numpy.vsplit(a,2)
print(a1)
print(a2)

结果:


在这里插入图片描述
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容