numpy数组的操作
反转操作:
- numpy.reshape()
- numpy.ndarray.flatten (numpy.flat)
- numpy.ndarray.T()
连接操作:
- numpy.concatenete()
- numpy.stack()
- numpy.vstack()
numpy.reshape():
import numpy as np
a = np.array([[1,2,3,4],[5,6,7,8],[3,4,6,6]])
a
b = a.reshape(2,6)
b
-----------------------
array([[1, 2, 3, 4],
[5, 6, 7, 8],
[3, 4, 6, 6]])
array([[1, 2, 3, 4, 5, 6],
[7, 8, 3, 4, 6, 6]])
b1 = a.reshape(2,6,order = 'F') # 竖着排
b1
-----------------
array([[1, 3, 6, 3, 6, 8],
[5, 2, 4, 7, 4, 6]])
np.ndarray.flat与np.ndarray.flatten()
flat返回的是一个迭代器,可以用for访问数组每一个元素
flatten将数组的副本转换为一个维度,并返回
ndarray.flatten(order = ‘C’)
可选参数,order;{‘C’,‘F’,‘A’,‘K’}
- ‘C’:行序优先
- ‘F’:列序优先
- ‘A’:if a is Fortran contiguous in memory,flatten in column_major order
- ‘K’:按照元素在内存出现顺序进行排序
默认为‘C’
a = np.array([[1,2,3,4],[5,6,7,8],[3,4,6,6]])
c = a.flat
c
-------------------
<numpy.flatiter at 0x1c09857c000>
print(list(c)