1. 程式人生 > >python 多維切片

python 多維切片

多維切片???——>numpy??——>cython??——>nose?——>easy_install

最近閒來無事,隨便翻一下 python 的書籍,當看到《Python參考手冊》(4th)中有關於序列用切片做多維陣列時,很感興趣,於是嘗試了一下.

但是總是報錯:

TypeError: list indices must be integers, not tuple

ps:即是說序列下標只能是數字,不能是元組.

後來查了一上,網上說多維只能[1:3][2:4]這樣的方式取,但是參考手冊這樣的典型鉅著不應有錯啊。

於是再繼續搜尋,終於*水木社*區裡有一句話,這個要用 numpy 來實現的,

於是接著搜關於 numpy 的問題.

numpy 在 mac 上只有1.7有 dmg,下載按裝提示版本不支援,(numpy1.7支援到 os 10.6 python2.7),只能下載較新的原始碼安裝包,不過我當時沒有找到這個原始碼包,而是在另一個模組 scipy.org 上找到的,

git clone http://github.com/numpy/numpy.git numpy

然後安裝,結果按時提示需要 cpython,好吧,go ~ on

python setup.py install
tip:安裝時需要sudo

安裝過程中N多的  warning: 多數是關於資料型別定義的,只要沒有error,就要裝作看不見,一笑而過偷笑

當看到下面這兩行的時候

Processing dependencies for Cython==0.20.2

Finished processing dependencies for Cython==0.20.2

終於可以鬆一口氣,然後繼續安裝numpy(還有關於xcode,gcc的配置,繼續:只要沒有error,就要裝作看不見,一笑而過偷笑)

安裝過程中又有一大堆的warning,這回主要是不相容提示;既然都已經安了,就要安到底(裝作看不見,一笑而過偷笑),半途退出會帶來更多的麻煩。

據說numpy安裝完成後需要測試一下,

>>> import numpy as np
>>> np.test('full')

如果不報錯那就說明安裝成功了,但是這裡偏報錯了,需要nose,這個也不好找了,好在還有「easy_install nose」,

tip:這個也需要sudo

終於按照第一行中流程執行完了,那麼究竟是不是可以做多維切片了呢?

果然。。。。。

跳出這個坑了,mark一下,備忘並提醒後來。。。。

最終證明參考手冊裡的那段是個坑啊,因為在前面的章節裡作者已經提到numpy的安裝,所以也不能怪作者啊,只能說,坑很大~~~~~


附關於numpy的兩個url,有興趣的童鞋可以去傳送門1傳送門2