Append masked arrays along axis 1 in Numpy

NumpyServer Side ProgrammingProgramming

To append masked arrays along axis 1, use the ma.append() method in Python Numpy. The axis is set using the "axis" parameter. The values are appended to a copy of the first parameter array. These values are appended to a copy of first parameter array. It must be of the correct shape. If axis is not specified, the second parameter array can be any shape and will be flattened before use. The function returns a copy of array1 with array2 appended to axis. The append does not occur in-place: a new array is allocated and filled. If axis is None, the result is a flattened array.

The axis is an axis along which v are appended. If axis is not given, both a and b are flattened before use.

Steps

At first, import the required library −

import numpy as np
import numpy.ma as ma

Create Array 1, a 3x3 array with int elements using the numpy.arange() method −

arr1 = np.arange(9).reshape((3,3))
print("Array1...\n", arr1)
print("\nArray type...\n", arr1.dtype)

Create a masked array1 −

arr1 = ma.array(arr1)

Mask Array1 −

maskArr1 = ma.masked_values(arr1, 5)

Display Masked Array 1 −

print("\nMasked Array1...\n",maskArr1)

Create Array 2, another 3x3 array with int elements using the numpy.arange() method −

arr2 = np.arange(9).reshape((3,3))
print("\nArray2...\n", arr2)
print("\nArray type...\n", arr2.dtype)

Create masked array2 −

arr2 = ma.array(arr2)

Mask Array2 −

maskArr2 = ma.masked_values(arr2, 7)

Display Masked Array 2 −

print("\nMasked Array2...\n",maskArr2)

To append masked arrays along specific axis, use the ma.append() method. The axis is set using the "axis" parameter −

print("\nResult of append...\n",ma.append(maskArr1, maskArr2, axis = 1))

Example

import numpy as np
import numpy.ma as ma

# Array 1
# Creating a 3x3 array with int elements using the numpy.arange() method
arr1 = np.arange(9).reshape((3,3))
print("Array1...\n", arr1)
print("\nArray type...\n", arr1.dtype)

# Get the dimensions of the Array
print("\nArray Dimensions...\n",arr1.ndim)

# Get the shape of the Array
print("\nOur Array Shape...\n",arr1.shape)

# Get the number of elements of the Array
print("\nElements in the Array...\n",arr1.size)

# Create a masked array
arr1 = ma.array(arr1)

# Mask Array1
maskArr1 = ma.masked_values(arr1, 5)
# Display Masked Array 1
print("\nMasked Array1...\n",maskArr1)

# Array 2
# Creating another 3x3 array with int elements using the numpy.arange() method
arr2 = np.arange(9).reshape((3,3))
print("\nArray2...\n", arr2)
print("\nArray type...\n", arr2.dtype)

# Get the dimensions of the Array
print("\nArray Dimensions...\n",arr2.ndim)

# Get the shape of the Array
print("\nOur Array Shape...\n",arr2.shape)

# Get the number of elements of the Array
print("\nElements in the Array...\n",arr2.size)

# Create a masked array
arr2 = ma.array(arr2)

# Mask Array2
maskArr2 = ma.masked_values(arr2, 7)
# Display Masked Array 2
print("\nMasked Array2...\n",maskArr2)

# To append masked arrays along specific axis, use the ma.append() method in Python Numpy
# The axis is set using the "axis" parameter
print("\nResult of append...\n",ma.append(maskArr1, maskArr2, axis = 1))

Output

Array1...
[[0 1 2]
[3 4 5]
[6 7 8]]

Array type...
int64

Array Dimensions...
2

Our Array Shape...
(3, 3)

Elements in the Array...
9

Masked Array1...
[[0 1 2]
[3 4 --]
[6 7 8]]

Array2...
[[0 1 2]
[3 4 5]
[6 7 8]]

Array type...
int64

Array Dimensions...
2

Our Array Shape...
(3, 3)

Elements in the Array...
9

Masked Array2...
[[0 1 2]
[3 4 5]
[6 -- 8]]

Result of append...
[[0 1 2 0 1 2]
[3 4 -- 3 4 5]
[6 7 8 6 -- 8]]
raja
Updated on 04-Feb-2022 09:52:02

Advertisements