第4A课大纲_科小神成长计划
1.学习目标
2.重要知识点
3.拓展练习题
本大纲版权归科赛网所有
学习目标
- 了解 numpy 里的数据结构
- 掌握 numpy array 创建办法和各种属性
- 掌握 numpy array slicing, indexing, boolean masking
- 掌握 numpy array vectorization
- 掌握 numpy array broadcasting
- 掌握 numpy array sorting
重要知识点
-
numpy array 创建办法和各种属性
-
np.array([1, 2, 3.0])
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html
-
np.zeros(5, dtype=int)
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html
-
np.ones((2, 2), dtype=float)
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html
-
np.full((1, 2), 2.33)
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html
-
np.random.normal(0, 1, (3, 3))
更多用法见 https://docs.scipy.org/doc/numpy/reference/routines.random.html
-
np.arange(0, 10, 2)
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.arange.html
-
np.linspace(0, 8, 5, dtype=int)
更多用法见 https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html
更多创建办法见:https://docs.scipy.org/doc/numpy/user/quickstart.html#array-creation
shape
,ndim
,size
,dtype
等更多属性见:https://docs.scipy.org/doc/numpy/user/quickstart.html#the-basics
-
-
掌握 numpy array slicing, indexing, boolean masking
基于同
list
详见:https://docs.scipy.org/doc/numpy/user/basics.indexing.html
-
numpy array vectorization
尽可能向量化计算,而不是使用循环去遍历。
如两个向量相加,直接相加即可,无需去遍历每个位置进行相加:
import numpy as np a = np.arange(0, 10, 2) b = np.arange(1, 10, 2) for i in range(5): a[i] += b[i] # 上述两行代码可替换为 a += b
-
numpy array broadcasting
维度要对齐再进行运算。
规则 1:小维升维
规则 2:维度为 1 拉长
规则 3:若不对齐则报错
详见:https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html
-
numpy array sorting
注意是否改变原数组。
关于排序、搜索、计数见 https://docs.scipy.org/doc/numpy/reference/routines.sort.html