机器学习中的numpy的array_机器学习基础

Numpy数组的形状处理

改变数组的形状

可以通过多个函数改变数组的形状

import numpy as np

a = np.ones((3,4))

print(a.ravel()) #将数组转化为一维数组

'''

array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])

'''

a.shape=(6,2)

print(a)

'''

array([[ 1., 1.],

[ 1., 1.],

[ 1., 1.],

[ 1., 1.],

[ 1., 1.],

[ 1., 1.]])

'''

a.resize((6,2)) #等同于a.shape=(6,2)

其实,形状指定可以少一个值,因此可以把不指定的那个值设置为-1,例如:

a.resize((6,-1)) #由于数组a的元素个数为12,行为6,则列为2,等同于a.resize((6,2))

合并数组

合并数组有多种方法,例如:

import numpy as np

a=np.zeros((2,2))

b=np.ones((2,2))

print(np.vstack((a,b))) #垂直方向合并

'''

array([[ 0., 0.],

[ 0., 0.],

[ 1., 1.],

[ 1., 1.]])

'''

print(np.hstack((a,b))) #水平方向合并

'''

array([[ 0., 0., 1., 1.],

[ 0., 0., 1., 1.]])

'''

拆分数组

使用hsplit和vsplit,可以分别在垂直方向和水平方向拆分数组。

a=np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])

print(np.hsplit(a,3)) #沿水平方向拆分成3个形状相同的数组

'''

[array([[ 1],

[ 4],

[ 7],

[10]]), array([[ 2],

[ 5],

[ 8],

[11]]), array([[ 3],

[ 6],

[ 9],

[12]])]

'''

print(np.vsplit(a,2)) #沿垂直方向拆分成2个形状相同的数组

'''

[array([[1, 2, 3],

[4, 5, 6]]), array([[ 7, 8, 9],

[10, 11, 12]])]

'''示例代码:Numpy-array-shape.py

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值