arr1=np.arange(12).reshape(3,4)
b=arr1.reshape(-1) # b=arr1.reshape((-1)) 等同的效果意义 ,
b[2]=1000
print(arr1)# 返回的是视图view
[[ 0 1 1000 3]
[ 4 5 6 7]
[ 8 9 10 11]]
ravel 变换
arr1=np.arange(12).reshape(3,4)
c=arr1.ravel()
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
c[2]=10001
arr1 # 返回的是视图view
array([[ 0, 1, 10001, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
resize
arr1=np.arange(12).reshape(3,4)
arr1.resize((4,3)) # 无返回值,即会对原始多维数组直接进行修改,也就是不能赋值
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
对matrix对象进行操作
# 使用matrix对象的时候,返回的仍是matrix,得不到想要的结果,不过该matrix仍然可以使用numpy中的一些方法对其操作,比如sum,min,max等等
d=np.matrix(np.arange(12).reshape(3,4))
matrix([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
d.flatten()#
matrix([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]])
比如 a = [[1, 2], [3, 4], [5, 6]]
列表推导式
[i for j in a for i in j]
from itertools import chain
list(chain.from_iterable(a))
sum小技巧
sum(a, [])