1.2 ndarray 数组获取元素

1、Numpy基础

1.2 ndarray 数组获取元素

对于一维数组,其实跟列表的切片很类似

nd1 = np.random.random([10])
print(nd1)
# 获取指定位置的元素,利用切片,获取第3个元素
# 对于一维数组
print(nd1[2])
# 截取一段数据,比如截取第2个到第5个元素
# [1:5]取头不取尾
print(nd1[1:5])
# 截取固定间隔数据
# [1:9:2] 同样取头不取尾
# [初始:终止:步长]
print(nd1[1:9:2])
# 倒序取数
print(nd1[::-1])

对于多维数组

# 对于多维数组
nd2 = np.arange(0, 25).reshape(5, 5)
print(nd2)
# 截取一个多维数组的一个区域内数据
# [行切片:列切片]
print(nd2[0:2, 1:3])
# 截取一个多维数组中,数值在一个值域之内的数据
print(nd2[(nd2 > 3) & (nd2 < 10)])
# 截取多维数组中指定的行,如读取2、3行
print(nd2[1:3, :])
print(nd2[[1, 2]])
# 截取多维数组中,指定的列,如读取第3,4列
print(nd2[:, 2:4])

获取数组中的部分元素除了通过制定索引标签来实现外,还可以通过使用一些函数来实现,如通过random.choice

# random.choice函数随机抽取元素
nd3 = np.arange(0, 25, dtype=float)
print(nd3)
# 随机可重复抽取元素
c1 = np.random.choice(nd3, size=(3, 4))  # size指定输出数组形状
print("随机可重复抽取\n", c1)
# 随机但不重复抽取
# replace是缺省参数,默认为True,即可重复抽取
c2 = np.random.choice(nd3, size=(3, 4), replace=False)
print("随机不可重复抽取\n", c2)
# 随机但按规律抽取
# 参数p指定每个元素对应的抽取概率,默认为等概率抽取
c3 = np.random.choice(nd3, size=(3, 4), p=nd3/np.sum(nd3))
print("随机按规律抽取\n", c3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值