numpy是Python科学计算生态系统下的一个重要的包, 其它的类似于pandas和scikit-lean都是基于numpy开发而来.
简单来说, numpy的主要对象是一个齐次多维数组. 掌握这个无非也就是如何索引(index), 如何切片(slice), 如何构建等等
np.array([1,2,3,4,5]) #将普通list转化为np.array
np.zeros(10, dtype=int) #构建元素为零的np.array对象, 一维, 数目为10
np.ones(shape=(3,5), dtype=float) #构建元素为1的二维np.array对象
np.arange(start = 0, stop =10, step=2) #创建线性序列数组
np.linspace(-0.5, 0.6, 12) #根据一个下限值,上限值,以及二者间均匀间隔的数值的数量, 创造一个均匀分布的数组
np.sin(x); np.log(x+1) #向量化操作
#演示数组的维度变形
one_dim = np.linspace(-0.5, 0.6, 12)
one_dim.reshape(4,3)
two_dim = one_dim.reshape(4,3)
two_dim.flatten()
稍微新一点的知识点是np.random.randint
以及涉及到轴axis
的操作.
例如我们来进行一个模拟, 抛硬币, 用0代表正面, 1代表反面.
学习的时候, 应该大开大合, 不要装牛角尖, 掌握好要点之后, 那些低频使用到的技能可以到了需要用的的时候再学, 这样学习的效率是最高的.
未完待续, 不断补充.