一·数组变换
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类型