1
17633788835
V1
2022/11/06阅读:15主题:全栈蓝
数组的处理
Python基础学习之查看数组的处理
❝数组的常见处理操作包括在数组中添加或删除元素,处理数组的缺失值和重复值,对数组进行拼接和拆分等等;
❞
使用Numpy模块中的append()函数和insert()函数可以方便的在数组中间添加元素,示例如下:
-
apppend()函数
append()语法格式:
append(a,values,axis=None) # a表示添加元素的数组,values表示索要添加的元素,axis将在后面的示例脚本中进行演示
此函数可在数组的末尾添加元素,演示代码如下:
import numpy as qw
aa= qw.array([[1,2,3],[4,5,6],[7,8,9]])
aaa= qw.append(aa,[[10,11,12]])
print(aaa)

-
不改变数组维度情况下添加元素,调用asxis参数即可(可理解为元素会添加在数组的行方向上):
import numpy as qw
aa= qw.array([[1,2,3],[4,5,6],[7,8,9]])
aaa= qw.append(aa,[[10,11,12]],axis=0)
print(aaa)

当axis=1时:
import numpy as qw
aa= qw.array([[1,2,3],[4,5,6],[7,8,9]])
aaa= qw.append(aa,[[10,11,12],[13,14,15],[16,17,18]],axis=1)
print(aaa)

-
insert()函数
此函数用于在指定位置插入元素,演示代码如下:
import numpy as qw
aa= qw.array([[1,2,3],[4,5,6],[7,8,9]])
aaa= qw.insert(aa,1,[10,11,12],axis=0)
aaaa=qw.insert(aa,1,[10,11,12],axis=1)
print(aaa)
print(aaaa)
其中「1」代表数组的索引值,表示插入元素的位置;「axis=0」时,表示在行方向上的指定位置插入元素,「axis=1」时表示在列方向上的指定位置插入元素

删除数组元素
删除数组元素采用的是Numpy模块中的delete()函数,演示代码如下:
import numpy as qw
aa= qw.array([[1,2,3],[4,5,6],[7,8,9]])
aa1= qw.delete(aa,2)
aa2=qw.delete(aa,2,axis=0)
aa3=qw.delete(aa,2,axis=1)
print(aa1)
print(aa2)
print(aa3)

处理数组的缺失值与重复值
-
处理数组缺失值:
import numpy as qw
aa= qw.array([1,2,3,qw.nan,4,5,6,7,8,9])
print(qw.isnan(aa))

-
处理重复值:
import numpy as qw
aa= qw.array([1,2,3,5,3,3,4,5,6,3,8,7,8,9])
aa1= qw.unique(aa)
aa1,aa2=qw.unique(aa,return_counts=True)# return_counts=True时,用于查看去重后数组中的元素在原数组中出现的次数
print(aa1)
print(aa2)

拼接数组
数组的拼接是指将多个数组合并为一个数组,使用concatenate()函数、hstack()函数、vstack()函数是实现;接下来以concatenate()函数为例进行代码演示:
import numpy as qw
aa= qw.array([[4,5,6],[7,8,9]])
aa1= qw.array([[10,11,12],[13,14,15]])
aa2=qw.concatenate((aa,aa1),axis=0)
aa3=qw.concatenate((aa,aa1),axis=1)
print(aa2)
print(aa3)

拆分数组
数组的拆分就是将一个数组分割成多个数组,可采用split()函数、hsplit()函数、vsplit()函数,我们以split()函数为例,进行代码演示:
import numpy as qw
aa= qw.array([1,2,3,4,5,6,7,8])
aa1= qw.split(aa,2)
aa2= qw.split(aa,4)
print(aa1)
print(aa2)

本次学习到此结束,如对里面的一些函数比较感兴趣,可对其进行操作练习!
「详细内容请搜索微信公众号:作物表型记录本 私人微信:saxn2022」
作者介绍
1
17633788835
V1