numpy 数组变换、索引和切片

一·数组变换

1.ndarray数组的维度变换

(1)a.reshape(shape)     不改变数组元素,返回一个shape形状的数组,原数组不变

(2)a.resize(shape)         作用同上,但原数组改变 (直接改变原数组)

import numpy as np
a=np.array(range(12))
b=a.reshape((3,4))
print(b)
print("a=",a)

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
a= [ 0  1  2  3  4  5  6  7  8  9 10 11]
import numpy as np
a=np.array(range(12))
c=a.resize((3,4))
print(c)
print("a=",a)

None
a= [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

(3)a.swapaxes(ax1,ax2 )  将数组n个 维度中的两个维度进行调换

import numpy as np
a=np.array(range(12))
b=a.reshape(3,4)
c=b.swapaxes(0,1)
print(c)


[[ 0  4  8]
 [ 1  5  9]
 [ 2  6 10]
 [ 3  7 11]]

(4)a.flatten() 对数组进行降维,返回折叠后的一维数组,原数组不变

import numpy as np
a=np.ones((2,3,4),dtype=np.int32)
b=a.flatten()
print(b)

[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]

2.ndarray数组的类型变换

(1) b=a.astype(new_type)   原数组不变

import numpy as np
a=np.array([1,1,1],dtype=np.int32)
b=a.astype(float)
print(a)
print(b)

[1 1 1]
[1. 1. 1.]

3.ndarray数组向列表的转换

(1)ls=a.tolist()    即array类型 变为list类型

二·数组操作

1.索引(与列表类似)

猜你喜欢

转载自blog.csdn.net/weixin_42394932/article/details/81118114
今日推荐