numpy.ndarray.flat/flatten
ndarray.flat
A 1-D iterator over the array. /将数组转换为1-D的迭代器 /
flat返回的是一个迭代器,可以用for访问数组每一个元素
import numpy as np
a = np.arange(4).reshape(2,2)
print(a)
for i in a.flat:
print(i)
#迭代器可以用list进行输出
print(list(a.flat))
print(type(a.flat))#返回类型为 numpy.flatiter
#可以用索引对迭代器进行引号
a.flat[3]
[[0 1]
[2 3]]
0
1
2
3
[0, 1, 2, 3]
<class 'numpy.flatiter'>
3
ndarray.flatten(order=’C’)
Return a copy of the array collapsed into one dimension.
将数组的副本
转换为一个维度,并返回
可选参数,order:{‘C’,‘F’,‘A’,‘K’}
- ‘C’:C-style,行序优先
- ‘F’:Fortran-style,列序优先
- ‘A’:if a is Fortran contiguous in memory ,flatten in column_major order
- ‘K’:按照元素在内存出现的顺序进行排序
默认为’C’
举例如下:
a = np.array([[4,5],[4,9]])
#默认按行转换
b= a.flatten()
print(b)
#换成列来划分
c = a.flatten('F')
print(c)
[4 5 4 9]
[4 4 5 9]