Numpy实现一维二维三维数组元素的选取与修改

目录

arange()函数

示例代码: 

执行结果:

一维数组元素的选取与修改

示例代码:

调试界面:

执行结果:

二维数组元素的选取与修改

示例代码:

调试界面:

​编辑执行结果: ​编辑

 三维数组元素的选取与修改

示例代码:

调试界面:

执行结果:


arange()函数

进入正文之前首先介绍一下numpy中常用的一个函数:arange()函数

arange(start, end, step) -> range(start, end, step)
特点:[左闭右开]的区间,一次性产生规律的数据

示例代码: 

r1 = np.arange(0,9,3)#从0开始,到9结束(不包括9),步长为3
print(r1)

执行结果:

一维数组元素的选取与修改

示例代码:

import numpy as np#导入numpy并改名np
array1 = np.arange(1,9,1)#从1开始,到9之前(不包括9),步长为1
print(array1)

#选取某个元素
a = array1[1]

#选取某些元素
b = array1[[1,3,5]]

#切片(左闭右开)
c = array1[0:6]

#修改某个元素
print(array1)
array1[0] = 10

#批量修改某些元素
array1[[1,3,5]] =20
print(array1)
array1[0:6] = 100
print(array1)

调试界面:

可知array1数组里面是一个8个数的一维数组,即array1[]=[1,2,3,4.5,6,7,8]

第6行代码选取数组中第2个元素并赋值给a

第9行代码选取数组中第2个、第4个、第6个元素并赋值给b

第12行代码对一维数组进行切片,选取数组中第1个到第6个的元素并赋值给c

第16行代码修改数组中的元素,修改数组中第1个的元素为10

第19行代码修改数组中的元素,修改数组中第2个、第4个和第6个的元素为20

第21行代码修改数组中的元素,修改数组前6个的元素为100

执行结果:

二维数组元素的选取与修改

示例代码:

import numpy as np

array1 = np.arange(24).reshape(4,6)#array数据 .reshape()
print(array1)

#选取某个元素
a = array1[1,4]#第2行第5列

#选取某行元素
b = array1[3,:] #逗号是用来分隔行和列

#选取某些行
c = array1[0:2,:]
d = array1[[0,2],:]#如果不是获取连续的行,[]

#选取某列
e = array1[:,3]

#选取某些列
f = array1[:,0:3]
g = array1[:,[0,3]]


#修改元素
#修改某个元素
array1[1,4] = 100
print(array1)

#修改某行元素
array1[3,:] = 100
print(array1)
array1[[0,2],:] = 50
print(array1)

调试界面:

第3行代码用numpy的arange函数 和 reshape方法生成一个4行6列的二维数组,这个二维数组的个数是24个。

第7、10、13、14行代码分别是用不同的方法获取数组中的元素。

第7行代码把数组array1中第2行第5列的数值赋值给a

第10行代码用逗号来分隔行和列,逗号右面的冒号表示所有的列。即把数组array1中第4行的所有元素赋值给b

第13行代码是把数组array1中的第1行和第2行的所有元素赋值给c

第14行代码是把数组array1中第1行和第3行的所有元素赋值给d

第17行代码是把数组array1中第4列的所有元素赋值给e

第20行代码是把数组array1中第1列到第3列的所有元素赋值给f,且f里面包括4个元素,是一个4行3列的二维数组

第21行代码返回一个4行2列的二维数组,把数组array1中第1列和第4列的所有元素赋值给g

第26行代码是把数组array1中第2行第5列的元素值修改为100

第30行代码是把数组array1中第4行的所有元素改为100

第32行代码是把数组array1中第1行和第3行的所有元素改为50


执行结果:
 

 三维数组元素的选取与修改

示例代码:

import numpy as np
array1 = np.arange(48).reshape(2,4,6)
print(array1)

#选取某个元素
#首先确定选取哪一个二维数组
a = array1[1,0,0]#选取第2个二维数组的第1行第1列的元素赋值给a
#选取某行元素
b = array1[0,1,:]#选取第1个二维数组的第1行的所有元素赋值给b
#选取某些行元素
c = array1[0,1:3,:]#选取第1个二维数组的第2行和第3行的所有元素赋值给c
d = array1[0,[1,3],:]#选取第1个二维数组的第2行和第4行的所有元素赋值给d
#选取某列
e = array1[1,:,1]#选取第2个二维数组的第2列的所有元素赋值给e
#选取某些列
f = array1[1,:,1:4]#选取第2个二维数组的第2列、第3列、第4列的所有元素赋值给f,f的元素值有4个(以行为单位计算)
g = array1[1,:,[1,4]]#选取第2个二维数组的第2列和第5列的所有元素赋值给f,f的元素值有2个(以列为单位计算)
#修改
array1[1,0,0]=100#修改第2个二维数组的第1行第1列的元素为100
print(array1)

调试界面:

第2行代码利用numpy生成一个三维数组,2个4*6的二维数组组成的三维数组

(代码详解见代码行后面的注释以及下面的调试展示)

最终的调试结果:


执行结果:

xue

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值