Python数组的操作

w@TOC

数组的组合

a=

array([[1, 1],
[2, 2]])

b=

array([[ 3, 3],
[ 4, 4]])

1.水平组合

np.hstack((a,b))

[[1 1 3 3]
[2 2 4 4]]

np.concatenate((a,b),axis=1)

[[1 1 3 3]
[2 2 4 4]]

2.垂直组合

np.vstack((a,b))

[[1 1]
[2 2]
[3 3]
[4 4]]

np.concatenate((a,b),axis=0)

[[1 1]
[2 2]
[3 3]
[4 4]]

3.深度组合:沿着纵轴方向组合

np.dstack((a,b))

[[[1 3]
[1 3]]
[[2 4]
[2 4]]]

4.列组合column_stack()

一维数组:按列方向组合
二维数组:同hstack一样

5.行组合row_stack()

以为数组:按行方向组合
二维数组:和vstack一样

比较

a==b

[[ False, False]
[False, False]]

数组的切片

1.水平切片(以水平轴为准切片)

np.hsplit(a,3)

相当于对第二维度的分割,第二个参数时分成几份

split(a,3,axis=1)

2.垂直切片

np.vsplit(a,3)

同理

split(a,3,axis=0)

3.深度切片

np.dsplit(d,3)

数组的索引

找最大值得index

找每行最大

np.max(a,axis=1) #按行取最大值(无论行列求最值,取出来都是(X,)的数组)
np.where(a == np.reshape(np.max(a, axis=1),[-1,1]))#要对应找列最值得index要先把最值reshape成列形式

找每列最大

np.max(a,axis=0)#按列取最大值
np.where(a == np.max(a, axis=0))#where默认的是按列找对应

PS:np.where()的原理:

  1. np.where(condition, x, y)
    满足条件(condition),输出x,不满足输出y。

  2. np.where(condition)
    只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 (等价于numpy.nonzero)。这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。

数组的属性

a.shape

#数组维度

a.dtype

#元素类型

a.size

#数组元素个数

a.itemsize

#元素占用字节数

a.nbytes

#整个数组占用存储空间=itemsize*size

a.T

#转置=transpose

转数据类型

np.float32(
a.astype(int)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值