cfdm.Data.flatten¶
-
Data.
flatten
(axes=None, inplace=False)[source]¶ Flatten axes of the data.
Any subset of the axes may be flattened.
The shape of the data may change, but the size will not.
The flattening is executed in row-major (C-style) order. For example, the array
[[1, 2], [3, 4]]
would be flattened across both dimensions to[1 2 3 4]
.New in version (cfdm): 1.7.11
See also
- Parameters
- axes: (sequence of)
int
, optional Select the axes. By default all axes are flattened. No axes are flattened if axes is an empty sequence.
Each axis is identified by its integer position in the data. Negative integers counting from the last position are allowed.
- Parameter example:
axes=0
- Parameter example:
axes=-1
- Parameter example:
axes=[1, -2]
- inplace:
bool
, optional If True then do the operation in-place and return
None
.
- axes: (sequence of)
- Returns
Examples
>>> d = cfdm.Data(numpy.arange(24).reshape(1, 2, 3, 4)) >>> d <Data(1, 2, 3, 4): [[[[0, ..., 23]]]]> >>> print(d.array) [[[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] [[12 13 14 15] [16 17 18 19] [20 21 22 23]]]]
>>> e = d.flatten() >>> e <Data(24): [0, ..., 23]> >>> print(e.array) [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
>>> e = d.flatten([]) >>> e <Data(1, 2, 3, 4): [[[[0, ..., 23]]]]>
>>> e = d.flatten([1, 3]) >>> e <Data(1, 8, 3): [[[0, ..., 23]]]> >>> print(e.array) [[[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11] [12 16 20] [13 17 21] [14 18 22] [15 19 23]]]
>>> d.flatten([0, -1], inplace=True) >>> d <Data(4, 2, 3): [[[0, ..., 23]]]> >>> print(d.array) [[[ 0 4 8] [12 16 20]] [[ 1 5 9] [13 17 21]] [[ 2 6 10] [14 18 22]] [[ 3 7 11] [15 19 23]]]