SciPy庫提供了大量有用的函數和類,用來解決各種專業領域的問題。
本文翻譯自Jupyter nbviewer中的第三講。
首先,介紹了一些特殊函數,如貝塞爾函數,這對物理學問題的計算提供了方便;之後是各種數值積分問題,常微分方程求解問題以及傅里葉變換,這些也可以描述並求解一些諸如復擺運動、阻尼震盪等複雜的物理過程;
同時,該庫還可以高效處理線性代數問題,如矩陣的運算、特徵值和特徵向量以及稀疏矩陣的存儲和運算;
最優化問題,即尋找函數極值和零點的問題,和插值問題,即用多項式擬合曲線的問題,在SciPy庫中也可以找到相應的函數;
最後介紹了統計上的應用,包括各種分佈的密度函數、分佈函數及其圖像繪製,以及一些統計檢驗問題。
#============================== 安裝SciPy 分割線 =================================
因爲我的mac上面安裝了幾個不同版本的py、現在默認的是py2.7的、
但是我pip install SciPy 是不支持2.7的、所以我只能先修改一下版本 如圖問題:
方法一:
修改用戶根目錄下的~/.bash_profile文件,在終端輸入:
open ~/.bash_profile
在文件中新增一行:
// 具體版本根據你/Library/Frameworks/Python.framework/Versions這個路徑下最新版本自選
// 我的版本是3.7
alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"
添加完之後執行
source ~/.bash_profile
驗證:這個修改前是2.7.16版本的、修改後爲3.7.5正常啦、繼續下一步剛他!不要慫!!
方法二:(如果上面方法不行的話、那就用這個絕招看看了)
修改~/.bashrc 來達到目的
open ~/.bashrc
在文件中添加
alias python="python3"
這句話的意思就是 讓python命令與phthon3等價,所以你每次在shell中輸入python也就相當於輸入了phthon3了。
這個時候再去看看版本號對不對、如果對了 下面這個東西就跳過吧!字多懶得看~
# =============== 方法二的標註============
注:使用方法3的時候發現並未生效,查資料顯示Mac下要加載bashrc的方法是
~/.bashrc裏面的一些設置,比如alias命令的設置“不起作用”,新開一個終端都要source一下才起作用。
unix下當shell是login shell,.bash_profile纔會加載,而bashrc正好相反。
真正的區別是在Linux下,當用戶登錄到一個圖形界面,然後打開一個終端terminal,那些shell是non-login shell。
然而,在OS X登錄的時候,並沒有運行着一個shell,所以,在運行Terminal.app的時候,其實那是一個login shell。
後來新建了 .bash_profile加載一次.bashrc就ok啦
if [ "${BASH-no}" != "no" ]; then
[ -r ~/.bashrc ] && . ~/.bashrc
fi
# =============== 方法二的結束============
如果繼續剛的途中還發現這個問題~
原來是虛擬環境路徑惹的鍋、參考一下輸入這個路徑~ ↓
先查找自己的python路徑位置:
python --->import sys ----> print sys.path
獲取到後自己稍微編輯下拿到這個路徑、敲下或自己替換如下命令即可:
pip3 install --target=/Library/Frameworks/Python.framework/Versions/3.7/Resources/ SciPy
就發現正在安裝啦!!
這下距離夢想又近了一步~~
# ==================================== 分割線 ===================================
作者:J.R. Johansson (郵箱:[email protected])
譯者:一路向上
最新版本的用法介紹見網站http://github.com/jrjohansson/scientific-python-lectures.
其他相關介紹見http://jrjohansson.github.io.
# 調用繪圖函數
%matplotlib inline
import matplotlib.pyplot as plt
from IPython.display import Image
簡介
SciPy框架建立於低一級的NumPy框架的多維數組之上,並且提供了大量的高級的科學算法。一些SciPy的應用如下:
- 特殊函數 (scipy.special)
- 積分 (scipy.integrate)
- 優化 (scipy.optimize)
- 插值 (scipy.interpolate)
- 傅里葉變換 (scipy.fftpack)
- 信號處理 (scipy.signal)
- 線型代數 (scipy.linalg)
- 稀疏特徵值問題 (scipy.sparse)
- 統計 (scipy.stats)
- 多維圖像處理 (scipy.ndimage)
- 文件輸入輸出 (scipy.io)
內容也是多啊、這裏就先安裝的爲一部分、下一部分的就爲導入包再跟着學習總結再記錄一篇文章啦。
準備喫飯去~