關(guān)于科學(xué)計(jì)算中Python Numpy 的使用經(jīng)驗(yàn)屑墨。
Numpy 中的廣播機(jī)制
-
可以對(duì)列進(jìn)行運(yùn)算桐腌,對(duì)行進(jìn)行運(yùn)算。
-
分列進(jìn)行運(yùn)算:
當(dāng)維度不一樣進(jìn)行運(yùn)算的時(shí)候裁蚁,會(huì)對(duì)行進(jìn)行擴(kuò)增矢渊,或者對(duì)列進(jìn)行擴(kuò)增。
矩陣 or 向量
- 在初始化一個(gè)行向量或者列向量的時(shí)候枉证,使用
a = np.random.randn(5,1) 或者
a = np.random.randn(1,5)
- 而不是使用
a = np.random.randn(5)
a.shape -->(5,)
定義成二維行向量或者列向量的形式矮男,可以進(jìn)行轉(zhuǎn)置等符合我們預(yù)期的操作。
如果得到 shape 為 (5,) 的數(shù)組室谚,可以使用reshape 函數(shù)進(jìn)行轉(zhuǎn)化毡鉴。使得矩陣或者向量是需要的維度。
使用 assert(a.shape == (5,1))
- 執(zhí)行速度快
- 有益于代碼的理解
更多
- enumerate() 進(jìn)行枚舉
- 字典集合進(jìn)行解析
- 數(shù)列進(jìn)行逆序
- if-else 語(yǔ)句替換 -秒赤?-:- 語(yǔ)句
- 全局變量命名加 g, 參數(shù)變量加 _ ,
- 級(jí)聯(lián)比較
- 使用** 而不是使用 pow 函數(shù)
- 使用json 作為字符串序列化工具猪瞬,效率快。
更多詳情[ http://blog.csdn.net/wsliangjian/article/details/51444210 ]