z = np.random.uniform(0,10,10)print('原始值:',z)print('方法1:',z - z%1)print('方法2:',np.floor(z))print('方法3:',np.ceil(z)-1)print('方法4:',z.astype(int))print('方法5:',np.trunc(z))
创建一个 5x5 的矩阵,其中每行的数值范围从 1 到 5
z = np.zeros((5,5))
z += np.arange(1,6)
z
创建一个长度为 5 的等间隔一维数组,其值域范围从 0 到 1,但是不包括 0 和 1
z = np.linspace(0,1,6,endpoint=False)[1:]
z
创建一个长度为10的随机一维数组,并将其按升序排序
z = np.random.random(10)
z.sort()
z
创建一个 3x3 的二维数组,并将列按升序排序
z = np.array([[7,4,3],[3,1,2],[4,2,6]])print('原始数组:\n', z)
z.sort(axis=0)
z
创建一个长度为 5 的一维数组,并将其中最大值替换成 0
z = np.random.random(5)print('原数组:', z)
z[z.argmax()]=0
z
打印每个 NumPy 标量类型的最小值和最大值
for dtype in[np.int8, np.int32, np.int64]:print("The minimum value of {}: ".format(dtype), np.iinfo(dtype).min)print("The maximum value of {}: ".format(dtype),np.iinfo(dtype).max)for dtype in[np.float32, np.float64]:print("The minimum value of {}: ".format(dtype),np.finfo(dtype).min)print("The maximum value of {}: ".format(dtype),np.finfo(dtype).max)
将 float32 转换为整型
z = np.arange(10, dtype=np.float32)print(z)
z = z.astype(np.int32,copy=False)
z
将随机二维数组按照第 3 列从上到下进行升序排列
z = np.random.randint(0,10,(5,5))print('排序前:\n',z)
z[z[:,2].argsort()]
从随机一维数组中找出距离给定数值(0.5)最近的数
z = np.random.uniform(0,1,20)print('random array: \n',z)
z1 =0.5
m = z.flat[np.abs(z - z1).argmin()]
m
将二维数组的前两行进行顺序交换
z = np.arange(25).reshape(5,5)print(z)
z[[0,1]]= z[[1,0]]print(z)
找出随机一维数组中出现频率最高的值
z = np.random.randint(0,10,50)print('随机一维数组:',z)
np.bincount(z).argmax()
找出给定一维数组中非 0 元素的位置索引
z = np.nonzero([1,0,2,0,3,0,4,0])
z
对于给定的 5x5 二维数组,在其内部随机放置 p 个值为 1 的数
p =4
z = np.zeros((5,5))
np.put(z, np.random.choice(range(5*5), p, replace=False),1)
z
对于随机的 3x3 二维数组,减去数组每一行的平均值
x = np.random.rand(3,3)print(x)
y = x - x.mean(axis=1,keepdims=True)
y