Saving and loading NumPy Arrays
Last Updated :
26 Dec, 2023
The savetxt()
and loadtxt()
functions in NumPy are primarily designed for 1D and 2D arrays (text files with row/column format). When dealing with a 3D NumPy array, these functions can be a bit limited because they cannot directly handle the 3D structure. However, you can reshape the 3D array into a 2D array, save it, and then reshape it back to its original form upon loading. In this article, we will see how to load and save 3D NumPy Array to file using savetxt() and loadtxt() functions and NumPy loadtxt and savetxt usage guide.
Load and Save 3D Numpy Array to File
Below are the ways by which we can load and save 3D NumPy array to file using savetxt() and loadtxt() functions in Python:
- Utilize the savetxt() and loadtxt() functions for TXT files
- Saving and loading the 3D arrays(reshaped) into CSV files
Example 1: Saving a 3D Numpy Array as a Text File
In this example, a 3D NumPy array arr
is reshaped into a 2D format and saved to a text file named "geekfile.txt" using savetxt()
. Later, the data is retrieved from the file, reshaped back to its original 3D form, and compared with the original array to verify its equality.
Python3
import numpy as gfg
arr = gfg.random.rand(5, 4, 3)
# reshaping the array from 3D
# matrice to 2D matrice.
arr_reshaped = arr.reshape(arr.shape[0], -1)
# saving reshaped array to file.
gfg.savetxt("geekfile.txt", arr_reshaped)
# retrieving data from file.
loaded_arr = gfg.loadtxt("geekfile.txt")
load_original_arr = loaded_arr.reshape(
loaded_arr.shape[0], loaded_arr.shape[1] // arr.shape[2], arr.shape[2])
# check the shapes:
print("shape of arr: ", arr.shape)
print("shape of load_original_arr: ", load_original_arr.shape)
# check if both arrays are same or not:
if (load_original_arr == arr).all():
print("Yes, both the arrays are same")
else:
print("No, both the arrays are not same")
Output:
shape of arr: (5, 4, 3)
shape of load_original_arr: (5, 4, 3)
Yes, both the arrays are same
Example 2: Saving and loading the 3D arrays(reshaped) into CSV files
In this example, we will perform saving and loading the 3D arrays(reshaped) into CSV files by using savetxt and loadtxt functions respectively. Here, a random 3D NumPy array arr
is reshaped into a 2D format, saved as a CSV file, and then loaded back into a 2D array. The loaded data is reshaped back to its original 3D form, and a comparison is made with the original array to confirm their equality.
Python3
import numpy as np
# Create a sample 3D array
arr = np.random.rand(5, 4, 3)
# Reshape the 3D array to 2D
arr_reshaped = arr.reshape(arr.shape[0], -1)
# Save the 2D array to a CSV file
np.savetxt("3d_array.csv", arr_reshaped, delimiter=",")
# Load the 2D array from the CSV file
loaded_arr = np.loadtxt("3d_array.csv", delimiter=",")
# Reshape the 2D array back to its original 3D shape
load_original_arr = loaded_arr.reshape((arr.shape[0], arr.shape[1], arr.shape[2]))
# Verify if the loaded array matches the original
if np.array_equal(load_original_arr, arr):
print("Yes, both the arrays are the same")
else:
print("No, both the arrays are not the same")
Output:
Yes, both the arrays are same
Similar Reads
Numpy - Iterating Over Arrays NumPy provides flexible and efficient ways to iterate over arrays of any dimensionality. For a one-dimensional array, iterating is straightforward and similar to iterating over a Python list.Let's understand with the help of an example:Pythonimport numpy as np # Create a 1D array arr = np.array([1,
3 min read
Numpy Array Indexing Array indexing in NumPy refers to the method of accessing specific elements or subsets of data within an array. This feature allows us to retrieve, modify and manipulate data at specific positions or ranges helps in making it easier to work with large datasets. In this article, weâll see the differe
5 min read
numpy.asarray() in Python numpy.asarray()function is used when we want to convert input to an array. Input can be lists, lists of tuples, tuples, tuples of tuples, tuples of lists and arrays. Syntax : numpy.asarray(arr, dtype=None, order=None) Parameters : arr : [array_like] Input data, in any form that can be converted to a
2 min read
numpy.asanyarray() in Python numpy.asanyarray()function is used when we want to convert input to an array but it pass ndarray subclasses through. Input can be scalars, lists, lists of tuples, tuples, tuples of tuples, tuples of lists and ndarrays. Syntax : numpy.asanyarray(arr, dtype=None, order=None) Parameters : arr : [array_
2 min read
NumPy Array in Python NumPy (Numerical Python) is a powerful library for numerical computations in Python. It is commonly referred to multidimensional container that holds the same data type. It is the core data structure of the NumPy library and is optimized for numerical and scientific computation in Python. Table of C
2 min read