二维数组切割
array[a:b, c:d]
只能对numpy格式的二维数组切割。
board = [["5","3",".",".","7",".",".",".","."],
["6",".",".","1","9","5",".",".","."],
[".","9","8",".",".",".",".","6","."],
["8",".",".",".","6",".",".",".","3"],
["4",".",".","8",".","3",".",".","1"],
["7",".",".",".","2",".",".",".","6"],
[".","6",".",".",".",".","2","8","."],
[".",".",".","4","1","9",".",".","5"],
[".",".",".",".","8",".",".","7","9"]]
new_board = numpy.array(board)
i = 0
a = new_board[i//3*3:(i//3+1)*3, (i%3)*3:(i%3+1)*3]
print(a)
[['5' '3' '.']
['6' '.' '.']
['.' '9' '8']]
numpy.append
append(arr, values, axis=None)
axis无定义时,只能返回一维数组;为0时,上下拼接增加行数;为1时,左右拼接增加列数。
arr必须是数组,values可以是数组也可以是值values是数组的时候,形状可以和arr不同。
import numpy as np
HJL = np.append([1,2,3],[[4,5,6],[7,8,9]])
print(HJL)
# 当axis无定义时,是横向加成,返回总是为一维数组。
#[1 2 3 4 5 6 7 8 9]
HXH = np.append([[1,2],[3,4]],[[5,6,7],[8,9,10]])
print(HXH)
# [ 1 2 3 4 5 6 7 8 9 10]
DYX = np.zeros((1,8))
HXH = np.ones((3,8))
XH = np.append(DYX, HXH,axis=0)
#先展示原来的数组
print(DYX) #(1, 8)
#[[0. 0. 0. 0. 0. 0. 0. 0.]]
print(HXH) # (3,8)
"""
[[1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1.]]
"""
#组合后的结果
print(XH)
"""
[[0. 0. 0. 0. 0. 0. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1.]
[1. 1. 1. 1. 1. 1. 1. 1.]]
"""
numpy.concatenate
numpy.concatenate((a1,a2,...), axis=0)
相比np.append,这个函数可以对多个数组进行拼接,但要求a1...an必须是形状相同的数组。
其中axis默认为0,表示对行进行拼接,axis为1时,表示对列进行拼接。但是对于一维数组来来说,axis并不会影响结果形式,都是拼接成一维数组。