numpy的基本属性和切片操作

注意事项在代码中标注了

import numpy as np

'''通常我们所用的随机数都是伪随机数,伪随机数是用确定性的算法计算出来自[0,1]
均匀分布的随机数序列。并不真正的随机,但具有类似于随机数的统计特征,如均匀性、
独立性等。那么我们在这里为了使得可以得到相同的随机数便于观察,便设下了随机数种
子,即seed(0),使得后面产生的随机数都是相同的'''
np.random.seed(0)

x = np.random.randint(10, size=(4, 4))
print(x)
# 几个基本操作
# 数组的维度
print('x.ndim')
print(x.ndim)
# 数组每个维度的大小
print('x.shape')
print(x.shape)
# 数组的总大小【含有多少个元素】
print('x.size')
print(x.size)
# 数组的数据类型
print('x.dtype')
print(x.dtype)
# 数组的单个元素的大小【字节】
print('x.itemsize')
print(x.itemsize)
# 数组的总大小【字节】
print('x.nbytes')
print(x.nbytes)
# 数组的索引和普通列表一样,通过对下标的访问
print('x[1][2]')
print(x[1][2])
print('x[-1][-2]')
print(x[-1][-2])
print('x[1][1: -1]')
print(x[1][1: -1])

# 数组切片
y = np.random.randint(10, size= 10)
print('y')
print(y)
y1 = y[1:-3]
print('y1')
print(y1)
# y2: : 三个参数分别是起始位置,终止位置和步长
print('y2')
y2 = y[1: -1: 2]
print(y2)
# 需要注意,切片后的元素仍然是原来数组中的元素,改变后原数组也会改变
# 这让我想起来以前看到一本书上的解释,python中的变量名更像是标签
# 是被贴在了变量上,所以一旦改变切片后的数组,原数组也会改变

y2[1] = 18
print('y2')
print(y2)
print('y')
print(y)

# 如果想要切片的数组不会干扰到原数组,则可以使用copy创建副本
y3 = y[1: -2: 3].copy()
print(y3)
y3[0] = 18
print('修改后y3:')
print(y3)
print('y')
print(y)

运行结果如下:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值