Numpy的数组操作

  1. 二维数组切割

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']]
  1. 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.]]
"""
  1. numpy.concatenate

numpy.concatenate((a1,a2,...), axis=0)

相比np.append,这个函数可以对多个数组进行拼接,但要求a1...an必须是形状相同的数组。

其中axis默认为0,表示对行进行拼接,axis为1时,表示对列进行拼接。但是对于一维数组来来说,axis并不会影响结果形式,都是拼接成一维数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值