w3resource

NumPy: Convert a given array into bytes, and load it as array

NumPy: Basic Exercise-38 with Solution

Write a NumPy program to convert a given array into bytes, and load it as an array.

This problem involves writing a NumPy program to convert a given array into a bytes object and then load it back as an array. The task requires using NumPy's "tobytes()" method to serialize the array into a bytes object and the "frombuffer()" method to deserialize the bytes back into an array. This process demonstrates how to efficiently convert array data to a byte representation for storage or transmission and then restore it to its original form.

Sample Solution :

Python Code :

# Importing the NumPy library with an alias 'np'
import numpy as np

# Importing the 'os' module for operating system-dependent functionality
import os

# Creating a NumPy array 'a' containing integers from 1 to 6
a = np.array([1, 2, 3, 4, 5, 6])

# Printing a message indicating the original array 'a'
print("Original array:")
print(a)

# Converting the array 'a' to bytes using a.tobytes() method and storing it in 'a_bytes'
a_bytes = a.tobytes()

# Creating a new NumPy array 'a2' by reading from 'a_bytes' using np.frombuffer()
# Specifying the datatype of 'a2' as the same as 'a' using a.dtype
a2 = np.frombuffer(a_bytes, dtype=a.dtype)

# Printing a message indicating the content of the array after loading from bytes
print("After loading, content of the text file:")
print(a2)

# Checking if both arrays 'a' and 'a2' are equal using np.array_equal()
print(np.array_equal(a, a2)) 

Output:

Original array:
[1 2 3 4 5 6]
After loading, content of the text file:
[1 2 3 4 5 6]
True                   

Explanation:

In the above code -

np.array([1, 2, 3, 4, 5, 6]) creates a 1D array and stores in the variable 'a' with elements 1 to 6.

a_bytes = a.tobytes(): This statement converts the NumPy array 'a' into a bytes object named 'a_bytes'.

a2 = np.frombuffer(a_bytes, dtype=a.dtype): This statement reconstructs a NumPy array 'a2' from the bytes object 'a_bytes' using the 'frombuffer' function. The 'dtype' argument is set to the same data type as the original array 'a' to ensure that the elements are interpreted correctly.

print(np.array_equal(a, a2)): This statement uses the 'np.array_equal()' function to check if the original array 'a' and the reconstructed array 'a2' are element-wise equal. If they are equal, it prints 'True'; otherwise, it prints 'False'.

Python-Numpy Code Editor:

Previous: NumPy program to save a given array to a text file and load it.
Next: NumPy program to convert a given list into an array, then again convert it into a list. Check initial list and final list are equal or not.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/python-exercises/numpy/basic/numpy-basic-exercise-38.php