numpy记录(一)——数组分割
Date: May 27, 2022
author: jinxili
numpy数据类型是ndarray
,即多维数组。属性:
ndarray.ndim
:数组的维数
ndarray.shape
:数组每一维的大小
ndarray.size
:数组中全部元素的数量
ndarray.dtype
:数组中元素的类型(numpy.int32, numpy.int16, and numpy.float64等)
ndarray.itemsize
:每个元素占几个字节
-
生成数组并赋为特殊值
b = np.zeros((4,6)) print(str(b)) [[0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0.]]
c = np.ones((4,6)) print(str(c)) [[1. 1. 1. 1. 1. 1.] [1. 1. 1. 1. 1. 1.] [1. 1. 1. 1. 1. 1.] [1. 1. 1. 1. 1. 1.]]
-
生成顺序增加的数组并整合为指定形状的二维数组
import numpy as np tile_map = np.arange(24).reshape(4, 6) print(str(tile_map )) [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11] [12 13 14 15 16 17] [18 19 20 21 22 23]]
-
矩阵分块:生成4x6的顺序数组,并分成6块
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 np.vsplit()
np.hsplit()
tile_map = np.arange(4*6).reshape(4, 6) vdivide = np.vsplit(tile_map, 2) print("vdivide:\n", str(vdivide)) cube_faces = [] for v_arr in vdivide: print("v_arr:\n", str(v_arr)) hdivide = np.hsplit(v_arr, 3) for h_arr in hdivide: print("h_arr:\n", str(h_arr)) cube_faces.append(h_arr.reshape(-1).tolist())
vdivide: [array([[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]]), array([[12, 13, 14, 15, 16, 17], [18, 19, 20, 21, 22, 23]])]
v_arr: [[ 0 1 2 3 4 5] [ 6 7 8 9 10 11]] v_arr: [[12 13 14 15 16 17] [18 19 20 21 22 23]]
h_arr: [[0 1] [6 7]] h_arr: [[2 3] [8 9]] h_arr: [[ 4 5] [10 11]] h_arr: [[12 13] [18 19]] h_arr: [[14 15] [20 21]] h_arr: [[16 17] [22 23]]