Add code about numpy · tinylambda/keep@efd6156 · GitHub
Skip to content

Commit efd6156

Browse files
committed
Add code about numpy
1 parent e824729 commit efd6156

10 files changed

Lines changed: 204 additions & 4 deletions

fp/ch4/ch4_10.py

Lines changed: 14 additions & 0 deletions

module_numpy/__init__.py

Whitespace-only changes.

module_numpy/numpy_bool_index.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import numpy as np
2+
3+
4+
if __name__ == '__main__':
5+
names = np.array(['Bob', 'Joe', 'Will', 'Bob', 'Will', 'Joe', 'Joe'])
6+
data = np.random.randn(7, 4)
7+
8+
print(names)
9+
print(data)
10+
11+
print(names == 'Bob')
12+
13+
print(data[names == 'Bob'])
14+
print(data[names == 'Bob', 2:])
15+
print(data[names == 'Bob', 3])
16+
17+
print(names != 'Bob')
18+
print(data[~(names == 'Bob')])
19+
20+
cond = names == 'Bob'
21+
print(data[~cond])
22+
23+
mask = (names == 'Bob') | (names == 'Will')
24+
print(mask)
25+
print(data[mask])
26+
27+
data[data < 0] = 0
28+
print(data)
29+
30+
data[names != 'Joe'] = 7
31+
print(data)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import numpy as np
2+
3+
4+
if __name__ == '__main__':
5+
data = np.random.randn(2, 3)
6+
print(data)
7+
8+
data2 = data * 10
9+
print(data2)
10+
11+
data3 = data + data
12+
print(data3)
13+
14+
print(data.shape)
15+
print(data.dtype)
16+

module_numpy/numpy_magic_index.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import numpy as np
2+
3+
4+
if __name__ == '__main__':
5+
arr = np.empty((8, 4))
6+
for i in range(8):
7+
arr[i] = i
8+
print(arr)
9+
10+
print(arr[[4, 3, 0, 6]])
11+
print(arr[[-3, -5, -7]])
12+
13+
arr = np.arange(32).reshape((8, 4))
14+
print(arr)
15+
16+
print(arr[[1, 5, 7, 2], [0, 3, 1, 2]])
17+
18+
print(arr[[1, 5, 7, 2]][:, [0, 3, 1, 2]])
19+

module_numpy/numpy_ndarray.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import numpy as np
2+
3+
4+
if __name__ == '__main__':
5+
data1 = [6, 7.5, 8, 0, 1]
6+
arr1 = np.array(data1)
7+
print(arr1)
8+
9+
data2 = [[1, 2, 3, 4], [5, 6, 7, 8]]
10+
arr2 = np.array(data2)
11+
print(arr2)
12+
13+
print(arr2.ndim)
14+
print(arr2.shape)
15+
16+
print(arr1.dtype, arr2.dtype)
17+
18+
print(np.zeros(10))
19+
print(np.zeros((3, 6)))
20+
print(np.empty((2, 3, 2)))
21+
22+
print(np.arange(15))
23+

module_numpy/numpy_ndarray_type.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import numpy as np
2+
3+
if __name__ == '__main__':
4+
arr1 = np.array([1, 2, 3], dtype=np.float64)
5+
arr2 = np.array([1, 2, 3], dtype=np.int32)
6+
7+
print(arr1, arr1.dtype)
8+
print(arr2, arr2.dtype)
9+
10+
arr = np.array([1, 2, 3, 4, 5])
11+
print(arr.dtype)
12+
13+
float_arr = arr.astype(np.float64)
14+
print(float_arr, float_arr.dtype)
15+
16+
arr = np.array([3.7, -1.2, -2.6, 0.5, 12.9, 10.1])
17+
print(arr, arr.dtype)
18+
19+
print(arr.astype(np.int32))
20+
21+
numeric_strings = np.array(['1.25', '-9.6', '42'], dtype=np.string_)
22+
print(numeric_strings.astype(float))
23+
24+
int_array = np.arange(10)
25+
print(int_array, int_array.dtype)
26+
27+
calibers = np.array([.22, .270, .357, .380, .44, .50], dtype=np.float64)
28+
print(int_array.astype(calibers.dtype))
29+
30+
empty_uint32 = np.empty(8, dtype='u4')
31+
print(empty_uint32, empty_uint32.dtype)
32+

module_numpy/numpy_slice.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import numpy as np
2+
3+
4+
if __name__ == '__main__':
5+
arr = np.arange(10)
6+
print(arr)
7+
8+
print(arr[5])
9+
print(arr[5:8])
10+
arr[5:8] = 12
11+
print(arr)
12+
13+
arr_slice = arr[5:8]
14+
print(arr_slice)
15+
16+
arr_slice[1] = 12345
17+
print(arr)
18+
19+
arr_slice[:] = 64
20+
print(arr)
21+
22+
arr_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
23+
print(arr_2d[2])
24+
print(arr_2d[0][2])
25+
26+
arr_3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
27+
print(arr_3d)
28+
print(arr_3d.shape)
29+
print(arr_3d[0].shape)
30+
31+
old_values = arr_3d[0].copy()
32+
arr_3d[0] = 42
33+
print(arr_3d)
34+
35+
arr_3d[0] = old_values
36+
print(arr_3d)
37+
38+
print(arr_3d[1, 0])
39+
40+
print(arr[1:6])
41+
print(arr_2d[:2])
42+
print(arr_2d[:2, 1:])
43+
print(arr_2d[1, :2])
44+
print(arr_2d[:2, 2])
45+
print(arr_2d[:, :1])
46+
arr_2d[:2, 1:] = 0
47+
print(arr_2d)

module_numpy/numpy_vector_op.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import numpy as np
2+
3+
if __name__ == '__main__':
4+
arr = np.array([[1., 2., 3.], [4., 5., 6.]])
5+
print(arr)
6+
7+
print(arr * arr)
8+
print(arr - arr)
9+
10+
print(1 / arr)
11+
print(arr ** 0.5)
12+
13+
arr2 = np.array([[0., 4., 1.], [7., 2., 12.]])
14+
print(arr2)
15+
print(arr2 > arr)
16+

module_pandas/pandas_read_excel.py

Lines changed: 6 additions & 4 deletions

0 commit comments

Comments
 (0)