Python Input and Output
1. Numpy
‘save’
and ‘load’
>>> import numpy as np
>>> matrix=np.random.random((10,10,42))
>>> nx,ny,nz=np.shape(matrix)
>>> CXY=np.zeros([ny, nx])
>>> for i in range(ny):
for j in range(nx):
CXY[i,j]=np.max(matrix[j,i,:])
>>> np.save("maximums.npy", CXY)
>>> np.save(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\maximums.npy", CXY)
>>> CXY=np.load(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\maximums.npy")
If you want to save multiple arrays in a file, then, you could do this,
>>> x = np.arange(10)
>>> y = np.sin(x)
>>> np.save(r'D:\Users\zhup\wrk\course\course10\2017\Lect06\test2',(x,y))
>>> np.load(r'D:\Users\zhup\wrk\course\course10\2017\Lect06\test2.npy')
array([[ 0. , 1. , 2. , 3. , 4. ,
5. , 6. , 7. , 8. , 9. ],
[ 0. , 0.84147098, 0.90929743, 0.14112001, -0.7568025 ,
-0.95892427, -0.2794155 , 0.6569866 , 0.98935825, 0.41211849]])
Note that the following codes do not work!
>>> np.save(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\test1.npy", x,y)
>>> np.load(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\test1.npy")
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> np.save(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\test1.npy", y, x)
>>> np.load(r"D:\Users\zhup\wrk\course\course10\2017\Lect06\test1.npy")
array([ 0. , 0.84147098, 0.90929743, 0.14112001, -0.7568025 ,
-0.95892427, -0.2794155 , 0.6569866 , 0.98935825, 0.41211849])
Also note that in this case, variables ‘x’ and ‘y’
have the same dimension. But what if variables
have different dimension? For example, we want to save
x and CXY in a file. Let’s try this,
>>> np.save(r'D:\Users\zhup\wrk\course\course10\2017\Lect06\test2',(x,CXY))
Traceback (most recent call last):
File "", line 1, in
np.save(r'D:\Users\zhup\wrk\course\course10\2017\Lect06\test2',(x,CXY))