Use a Numpy array as output¶
A common data structure in Data Science is the NumPy Array
. You cannot directly use them as an output in UbiOps. Some conversion is needed.
There are two options:
- A 1-dimensional
Array
can be passed on as a string - A multi-dimensional array should be passed as a file.
Convert to string¶
Numpy has built in functionality which you can use for converting NumPy arrays to strings.
It can be as simple as:
import numpy as np
a = np.array([1,2,3])
string_array = np.array2string(a)
Do take a look at the functionalities of the function if you plan to use it. There are quite a few options to use.
Output as file¶
The best way to pass a multi-dimensional Array
between deployments is to output the Array
as either a NumPy Binary
file or a text file. The example shows how to output as a NumPy binary
file:
np.save('data.npy', np.array([[1, 2, 3], [4, 5, 6]]))
return {
"np_file": "data.npy"
}
To read the data back in as an Array
in the next deployment, use:
# Load the array
arr = np.load(data['np_file'])