关于科学计算中Python Numpy 的使用经验。
Numpy 中的广播机制
-
可以对列进行运算,对行进行运算。
-
分列进行运算:
当维度不一样进行运算的时候,会对行进行扩增,或者对列进行扩增。
矩阵 or 向量
- 在初始化一个行向量或者列向量的时候,使用
a = np.random.randn(5,1) 或者
a = np.random.randn(1,5)
- 而不是使用
a = np.random.randn(5)
a.shape -->(5,)
定义成二维行向量或者列向量的形式,可以进行转置等符合我们预期的操作。
如果得到 shape 为 (5,) 的数组,可以使用reshape 函数进行转化。使得矩阵或者向量是需要的维度。
使用 assert(a.shape == (5,1))
- 执行速度快
- 有益于代码的理解
更多
- enumerate() 进行枚举
- 字典集合进行解析
- 数列进行逆序
- if-else 语句替换 -?-:- 语句
- 全局变量命名加 g, 参数变量加 _ ,
- 级联比较
- 使用** 而不是使用 pow 函数
- 使用json 作为字符串序列化工具,效率快。
更多详情[ http://blog.csdn.net/wsliangjian/article/details/51444210 ]