Input and Output


In [1]:
from __future__ import print_function
import numpy as np

In [2]:
author = "kyubyong. https://github.com/Kyubyong/numpy_exercises"

In [3]:
np.__version__


Out[3]:
'1.12.0'

In [4]:
from datetime import date
print(date.today())


2017-04-01

NumPy binary files (NPY, NPZ)

Q1. Save x into temp.npy and load it.


In [5]:
x = np.arange(10)
...

# Check if there exists the 'temp.npy' file.
import os
if os.path.exists('temp.npy'):
    x2 = ...
    print(np.array_equal(x, x2))


True

Q2. Save x and y into a single file 'temp.npz' and load it.


In [6]:
x = np.arange(10)
y = np.arange(11, 20)
...

with ... as data:
    x2 = data['x']
    y2 = data['y']
    print(np.array_equal(x, x2))
    print(np.array_equal(y, y2))


True
True

Text files

Q3. Save x to 'temp.txt' in string format and load it.


In [7]:
x = np.arange(10).reshape(2, 5)
header = 'num1 num2 num3 num4 num5'
...
...


Out[7]:
array([[ 0.,  1.,  2.,  3.,  4.],
       [ 5.,  6.,  7.,  8.,  9.]])

Q4. Save x, y, and z to 'temp.txt' in string format line by line, then load it.


In [8]:
x = np.arange(10)
y = np.arange(11, 21)
z = np.arange(22, 32)
...
...


Out[8]:
array([[  0.,   1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.],
       [ 11.,  12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.,  20.],
       [ 22.,  23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,  31.]])

Q5. Convert x into bytes, and load it as array.


In [9]:
x = np.array([1, 2, 3, 4])
x_bytes = ...
x2 = ...
print(np.array_equal(x, x2))


True

Q6. Convert a into an ndarray and then convert it into a list again.


In [10]:
a = [[1, 2], [3, 4]]
x = ...
a2 = ...
print(a == a2)


True

String formatting

Q7. Convert x to a string, and revert it.


In [11]:
x = np.arange(10).reshape(2,5)
x_str = ...
print(x_str, "\n", type(x_str))
x_str = x_str.replace("[", "") # [] must be stripped
x_str = x_str.replace("]", "")
x2 = ...
assert np.array_equal(x, x2)


[[0 1 2 3 4]
 [5 6 7 8 9]] 
 <class 'str'>

Text formatting options

Q8. Print x such that all elements are displayed with precision=1, no suppress.


In [12]:
x = np.random.uniform(size=[10,100])
np.set_printoptions(...)
print(x)


[[ 0.8  0.5  0.9  0.   0.6  0.6  0.5  0.5  0.9  0.9  0.3  0.6  0.9  0.8
   0.1  0.5  0.3  0.9  0.1  0.8  0.3  0.   0.4  0.5  0.4  0.6  0.2  0.6
   0.6  0.5  0.7  0.4  0.1  0.6  0.7  0.3  0.1  0.5  0.1  0.5  0.   0.8  1.
   0.5  0.3  0.9  0.3  0.6  0.9  0.   0.4  0.5  0.9  0.3  0.9  0.2  0.9
   0.4  0.8  0.5  0.2  0.1  0.2  0.7  0.6  0.3  0.6  0.8  0.7  0.2  0.2
   0.4  0.6  0.4  1.   0.   0.2  0.4  0.8  0.5  0.4  0.4  0.6  0.2  0.2
   0.8  0.1  0.9  0.7  0.3  1.   0.6  0.7  0.4  0.1  0.9  0.2  0.4  0.1
   0.3]
 [ 0.5  0.9  0.2  0.1  0.   0.4  0.5  0.3  0.5  0.8  0.2  0.5  0.9  0.4
   0.2  0.8  0.3  0.1  0.8  0.5  0.2  0.   0.7  0.7  0.6  0.7  0.1  0.2
   0.6  0.2  0.4  0.2  0.2  0.1  0.4  0.4  0.9  0.6  0.3  0.4  0.9  0.1
   0.6  0.7  0.7  0.2  0.5  0.3  0.3  0.8  0.   0.1  0.3  0.9  0.8  0.9
   0.3  0.5  0.5  0.7  0.5  0.8  0.2  0.9  0.1  1.   0.5  0.3  0.7  0.2
   0.9  0.3  0.6  0.4  1.   0.2  1.   0.7  0.8  0.6  0.9  0.9  0.4  1.   0.3
   0.7  0.   0.3  0.2  0.4  0.1  0.6  0.2  0.4  0.7  0.3  0.   0.7  0.1
   0.5]
 [ 0.7  0.1  0.6  0.2  0.9  0.8  0.5  0.6  0.9  0.8  0.4  0.1  0.1  0.7
   0.7  0.8  0.1  0.8  0.4  0.2  0.6  0.8  1.   0.8  0.6  0.8  0.3  0.1
   0.5  0.5  0.4  0.2  0.8  0.4  0.4  0.6  0.9  0.7  0.8  0.5  1.   0.3
   0.4  0.7  0.5  0.3  1.   0.3  0.1  0.6  0.2  0.   0.2  0.8  0.7  0.7
   0.6  0.4  0.7  0.7  0.5  0.1  0.9  0.   0.1  0.3  0.3  0.1  0.6  0.5
   0.4  0.1  0.3  0.2  0.1  0.7  0.3  0.8  0.8  0.9  0.7  0.5  0.   0.9
   0.5  0.6  1.   0.9  0.8  0.   0.7  0.3  0.4  0.2  0.3  0.4  0.9  0.4  1.
   0.2]
 [ 1.   0.1  0.8  0.   0.4  0.2  0.2  0.8  0.1  0.2  0.1  0.9  0.9  0.9
   0.5  0.7  0.8  0.6  0.1  0.2  0.2  0.5  0.4  0.6  1.   0.1  0.8  0.5
   0.3  0.6  0.6  1.   0.5  0.4  0.3  0.8  0.7  0.4  0.1  1.   0.6  0.3
   0.7  0.4  0.5  1.   0.6  0.8  0.5  0.6  1.   0.7  0.2  0.6  0.4  0.   0.8
   0.5  0.5  0.2  0.8  0.2  0.4  0.5  0.2  0.   0.8  0.4  0.4  0.4  0.4
   0.4  0.8  0.4  0.1  0.9  0.1  0.8  0.2  0.7  1.   0.3  0.1  0.9  0.3
   0.1  0.1  0.4  0.5  0.5  0.6  0.2  0.2  0.4  0.5  0.6  0.3  0.2  0.6
   0.7]
 [ 0.1  0.5  0.4  0.1  0.1  0.9  0.5  0.9  0.8  0.8  0.8  0.4  0.4  0.7  0.
   0.4  0.   0.4  0.7  0.7  0.7  0.8  0.9  0.   0.6  0.8  1.   0.5  0.   0.9
   0.9  1.   0.6  0.4  0.4  0.8  0.9  0.2  0.1  0.2  0.7  0.8  0.2  0.1
   0.9  0.9  0.4  0.6  0.7  0.4  0.6  0.2  0.9  0.9  0.3  0.7  0.6  0.2
   0.3  0.8  0.6  0.6  0.1  0.3  0.2  0.6  0.3  0.7  0.4  0.5  0.3  0.4
   0.4  0.9  0.6  0.6  0.3  0.1  0.3  0.8  0.3  0.7  0.4  0.5  0.4  0.7
   0.6  0.1  0.8  0.2  0.6  0.1  1.   0.8  0.2  0.6  0.9  0.2  0.4  0.4]
 [ 0.4  0.5  0.5  0.7  0.3  0.7  0.2  0.3  0.6  0.9  0.7  0.3  0.1  0.4
   0.6  0.8  0.3  0.2  0.4  0.2  0.8  0.4  0.2  0.9  0.2  0.9  0.8  0.5
   0.9  0.7  0.2  0.5  0.3  0.7  0.6  0.   0.3  0.5  0.6  0.8  0.5  0.9
   0.2  0.1  0.3  0.9  0.3  0.3  0.6  0.5  0.3  1.   0.2  0.9  0.7  0.9
   0.2  0.1  0.1  0.4  0.1  0.7  0.4  0.2  0.3  0.4  0.7  1.   0.9  0.5
   0.1  0.9  0.5  0.1  0.4  0.9  0.7  0.3  0.5  0.3  0.3  1.   0.7  0.8
   0.3  0.6  0.3  0.6  0.7  0.7  0.   0.7  0.6  0.1  0.9  1.   0.1  0.1
   0.2  0.7]
 [ 0.1  0.1  0.4  0.6  1.   0.4  0.1  0.4  0.5  0.   0.3  0.3  0.7  0.4
   0.7  0.8  0.   0.8  0.1  0.9  0.7  0.9  0.9  0.6  0.2  0.2  0.4  0.5
   0.3  0.1  0.6  0.8  0.9  0.5  0.4  0.4  0.6  0.3  0.5  0.4  0.7  0.2
   0.4  0.3  0.6  0.8  0.8  1.   0.5  0.7  0.6  1.   0.5  0.1  0.2  0.1
   0.4  0.3  0.5  0.3  0.5  0.6  0.2  0.3  0.8  0.5  0.6  0.9  0.8  0.3
   0.3  0.5  0.2  0.1  0.5  0.4  0.4  0.6  0.2  0.5  0.8  0.2  0.4  0.6
   0.2  0.3  0.4  0.8  0.3  0.2  0.6  0.5  0.4  0.3  0.4  0.6  0.1  0.6
   0.9  0.9]
 [ 0.6  0.6  0.1  0.4  0.6  0.8  0.   0.5  0.9  0.4  0.6  0.5  0.5  0.7
   0.9  0.7  0.1  0.4  0.3  0.5  0.3  0.5  0.3  1.   0.4  0.5  0.1  0.4
   0.3  0.6  0.6  0.3  0.4  0.8  0.5  0.4  0.   0.   0.8  0.7  0.9  0.5
   0.2  0.2  0.1  0.3  0.2  0.6  0.7  0.2  0.9  0.2  0.3  0.5  0.4  0.2
   0.9  0.8  0.1  0.2  0.8  0.3  0.9  0.6  0.3  0.   0.6  0.   0.1  0.7
   0.7  0.2  0.8  0.4  0.4  0.6  0.2  0.3  0.4  0.5  0.9  0.3  0.   0.6
   0.4  0.9  0.6  0.3  1.   0.9  0.6  0.9  0.   0.5  0.2  0.4  1.   0.5
   0.7  0.9]
 [ 0.3  0.2  0.9  0.4  0.8  0.8  1.   0.1  0.8  0.1  0.1  0.7  0.5  0.6
   0.1  0.5  0.5  0.4  0.2  0.8  0.   0.4  0.2  0.1  0.4  1.   0.1  0.   0.7
   0.1  0.4  0.3  0.7  0.4  0.5  0.5  0.   0.2  0.2  0.9  0.9  0.8  0.1
   0.3  0.3  0.   0.7  0.   0.8  0.5  0.5  0.3  0.3  0.1  1.   0.   0.9
   0.8  0.6  0.9  0.5  1.   0.5  0.   0.   0.1  0.6  0.7  0.1  0.6  0.4
   0.5  0.2  0.4  0.5  0.8  0.6  0.3  1.   0.9  0.6  0.1  0.7  0.   0.7
   0.4  0.6  0.3  0.5  0.9  0.4  0.8  0.8  0.2  0.3  0.5  0.1  0.5  0.6
   0.8]
 [ 0.4  0.6  0.6  1.   0.3  0.6  0.6  0.1  0.1  0.9  0.1  0.9  0.5  1.   0.6
   0.1  0.8  0.1  0.4  0.1  0.7  0.9  0.7  0.4  0.3  0.5  0.5  0.4  0.   0.7
   0.7  0.3  0.9  1.   0.7  0.   0.2  1.   0.6  0.3  0.3  0.1  0.7  0.5
   0.3  0.7  0.1  0.9  0.6  0.9  0.3  0.1  0.9  1.   0.1  1.   0.6  0.7
   0.5  0.6  1.   0.9  0.2  0.2  0.3  0.4  0.6  0.1  0.4  0.   0.9  0.4
   0.9  0.7  0.1  1.   0.7  0.1  0.7  0.2  0.9  0.7  0.1  0.1  0.9  0.6
   0.1  0.1  0.2  0.6  0.8  0.9  0.2  0.1  0.2  0.3  0.5  0.7  0.8  0.8]]

Base-n representations

Q9. Convert 12 into a binary number in string format.


In [13]:



1100

Q10. Convert 12 into a hexadecimal number in string format.


In [14]:



Out[14]:
'44C'