1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/usr/bin/env python
# coding: utf-8
 
import numpy as np
 
np_array = np.array([333333]) #create rank1 array
 
print(type(np_array))
print(np_array)
print(np_array.shape)
print(np_array[0], np_array[1], np_array[2])
print(np_array)
another = np.array([[11,12,13], 
                    [21,22,23]])
 
print(another)
print("shape of another {}".format(another.shape))
 
another[0][2]
np.zeros((3,3))
 
np.full((3,3), 9.0)
 
np.eye(3,3)
 
np.ones((1,2))
 
np.ones((1,2)).shape  #rank 2 matrix
 
np.random.random((2,2))
 
# Rank 2 array of shape (3, 4)
an_array = np.array([[11,12,13,14], [21,22,23,24], [31,32,33,34]])
print(an_array)
 
a_slice = an_array[:21:3]  # copy by referrence
a_slice[0,0= 123
print(a_slice)
 
a_slice = np.array(an_array[:21:3]) #call by value
a_slice[0,0= 321
print(a_slice)
 
row_rank1 = an_array[1, :]
print(row_rank1, row_rank1.shape)
 
row_rank2 = an_array[1:2, :]    #this gives 2d array
print(row_rank2, row_rank2.shape)
 
an_array = np.array([[11,12,13], [21,22,23], [31,32,33],[41,42,43] ])
 
an_array
 
col_indices = np.array([0120])
print(col_indices)
    
row_indices = np.arange(4)
print(row_indices)
 
#Examine the pairings of row_indices and col_indices.
for row, col in zip( row_indices, col_indices):
    print(row, col)
 
# Select one element from each row
an_array[row_indices, col_indices]
 
an_array[row_indices, col_indices] += 100000
an_array
 
an_array = np.array([[11,12], [21,22], [3132]])
 
an_array
 
# boolean values will be returned as a list
filter = (an_array > 15)
filter
 
an_array[filter]
 
#better way
an_array[an_array > 15]
 
an_array[an_array > 25= 25 
an_array
 
## Data type of an element in array is matter!!
ex1 = np.array([1112])
ex1.dtype
 
ex2 = np.array([11.012.0])
ex2.dtype
 
ex3 = np.array([11,12], dtype=np.int64)
ex3.dtype
 
ex4 = np.array([11.112.7], dtype = np.int64)
ex4.dtype
 
ex5 = np.array([ 1112 ], dtype = np.int64)
ex5.dtype
ex5
 
## ndarray operation
 
= np.array([[ 111,112     ],     [121,122 ]], dtype = np.int)
= np.array([[ 211.1,212.1 ], [221.1,222.1 ]], dtype = np.int)
print(x)
print()
print(y)
 
+ y
 
np.add(x,y)
 
np.sqrt(x)
 
np.exp(x)
 
cs




import numpy as np

np_array = np.array([3, 33, 333]) #create rank1 array

print(type(np_array))
print(np_array)
<class 'numpy.ndarray'>
[  3  33 333]
In [18]:
print(np_array.shape)
(3,)
In [19]:
print(np_array[0], np_array[1], np_array[2])
3 33 333
In [20]:
print(np_array)
[  3  33 333]
In [24]:
another = np.array([[11,12,13], 
                    [21,22,23]])
print(another)
print("shape of another {}".format(another.shape))
[[11 12 13]
 [21 22 23]]
shape of another (2, 3)
In [26]:
another[0][2]
Out[26]:
13
In [31]:
np.zeros((3,3))
Out[31]:
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
In [32]:
np.full((3,3), 9.0)
Out[32]:
array([[9., 9., 9.],
       [9., 9., 9.],
       [9., 9., 9.]])
In [33]:
np.eye(3,3)
Out[33]:
array([[1., 0., 0.],
       [0., 1., 0.],
       [0., 0., 1.]])
In [35]:
np.ones((1,2))
Out[35]:
array([[1., 1.]])
In [36]:
np.ones((1,2)).shape  #rank 2 matrix
Out[36]:
(1, 2)
In [37]:
np.random.random((2,2))
Out[37]:
array([[0.1570544 , 0.06688494],
       [0.25285217, 0.54726879]])
In [3]:
# Rank 2 array of shape (3, 4)
an_array = np.array([[11,12,13,14], [21,22,23,24], [31,32,33,34]])
print(an_array)
[[11 12 13 14]
 [21 22 23 24]
 [31 32 33 34]]
In [44]:
a_slice = an_array[:2, 1:3]  # copy by referrence
a_slice[0,0] = 123
print(a_slice)
[[123  13]
 [ 22  23]]
In [47]:
a_slice = np.array(an_array[:2, 1:3]) #call by value
a_slice[0,0] = 321
print(a_slice)
[[321  13]
 [ 22  23]]
In [8]:
row_rank1 = an_array[1, :]
print(row_rank1, row_rank1.shape)
[21 22 23 24] (4,)
In [9]:
row_rank2 = an_array[1:2, :]    #this gives 2d array
print(row_rank2, row_rank2.shape)
[[21 22 23 24]] (1, 4)
In [11]:
an_array = np.array([[11,12,13], [21,22,23], [31,32,33],[41,42,43] ])

an_array
[[11 12 13]
 [21 22 23]
 [31 32 33]
 [41 42 43]]
In [13]:
col_indices = np.array([0, 1, 2, 0])
print(col_indices)
    
row_indices = np.arange(4)
print(row_indices)
[0 1 2 0]
[0 1 2 3]
In [14]:
#Examine the pairings of row_indices and col_indices.
for row, col in zip( row_indices, col_indices):
    print(row, col)
0 0
1 1
2 2
3 0
In [15]:
# Select one element from each row
an_array[row_indices, col_indices]
Out[15]:
array([11, 22, 33, 41])
In [16]:
an_array[row_indices, col_indices] += 100000
an_array
[[100011     12     13]
 [    21 100022     23]
 [    31     32 100033]
 [100041     42     43]]
In [24]:
an_array = np.array([[11,12], [21,22], [31, 32]])
In [19]:
an_array
Out[19]:
array([[11, 12],
       [21, 22],
       [31, 32]])
In [20]:
# boolean values will be returned as a list
filter = (an_array > 15)
filter
Out[20]:
array([[False, False],
       [ True,  True],
       [ True,  True]])
In [21]:
an_array[filter]
Out[21]:
array([21, 22, 31, 32])
In [22]:
#better way
an_array[an_array > 15]
Out[22]:
array([21, 22, 31, 32])
In [25]:
an_array[an_array > 25] = 25 
an_array
Out[25]:
array([[11, 12],
       [21, 22],
       [25, 25]])
In [26]:
## Data type of an element in array is matter!!
ex1 = np.array([11, 12])
ex1.dtype
Out[26]:
dtype('int64')
In [27]:
ex2 = np.array([11.0, 12.0])
ex2.dtype
Out[27]:
dtype('float64')
In [28]:
ex3 = np.array([11,12], dtype=np.int64)
ex3.dtype
Out[28]:
dtype('int64')
In [29]:
ex4 = np.array([11.1, 12.7], dtype = np.int64)
ex4.dtype
Out[29]:
dtype('int64')
In [31]:
ex5 = np.array([ 11, 12 ], dtype = np.int64)
ex5.dtype
ex5
Out[31]:
array([11, 12])
In [32]:
## ndarray operation

x = np.array([[ 111,112     ],     [121,122 ]], dtype = np.int)
y = np.array([[ 211.1,212.1 ], [221.1,222.1 ]], dtype = np.int)
print(x)
print()
print(y)
[[111 112]
 [121 122]]

[[211 212]
 [221 222]]
In [33]:
x + y
Out[33]:
array([[322, 324],
       [342, 344]])
In [34]:
np.add(x,y)
Out[34]:
array([[322, 324],
       [342, 344]])
In [35]:
np.sqrt(x)
Out[35]:
array([[10.53565375, 10.58300524],
       [11.        , 11.04536102]])
In [36]:
np.exp(x)
Out[36]:
array([[1.60948707e+48, 4.37503945e+48],
       [3.54513118e+52, 9.63666567e+52]])
In [ ]:
 


'Python Library > Numpy' 카테고리의 다른 글

Day 4. Image Processing with a numpy -02  (0) 2019.06.12
Day 4. Image Processing with a numpy - 01  (0) 2019.06.12
Day 4. Numpy02  (0) 2019.06.12

+ Recent posts