感謝余博充足的資料準備和耐心的溝通指引簸淀。幾位同學的課堂問答晒喷,小密圈各位之間的溝通愚争,簡書的文章和評論頗有啟發(fā)映皆。對于已經(jīng)重復的內容我盡量簡潔或略過。
(一) Anaconda安裝
Anaconda在國內環(huán)境用鏡像地址安裝較快轰枝。
(二) Jupyter Notebook使用
用命令行模式捅彻,如Anaconda Prompt里敲入jupyter notebook
啟動速度較快。
想在初始內核為python 3的jupyter中添加python 2的內核有2種主要方式鞍陨,可以參考文章如何同時在 Anaconda 同時配置 python 2和3步淹。
快捷鍵里連按兩次D鍵表示刪除當前選中單元這個略特殊容易忽視或忘掉。
(三) Python實戰(zhàn)
(1)數(shù)據(jù)導入
# 導入pandas模塊
import pandas as pd
# 設置直接顯示圖片
%matplotlib inline
像%開頭的魔術關鍵字(magic keywords)的使用和參考可以查看余博的左手程序員诚撵,右手作家:你必須會的Jupyter Notebook和IPython的Built-in magic commands
import pandas as pd
import datetime
import pandas_datareader.data as web
# 設置獲取的時間區(qū)間
start = datetime.datetime(2017,6,1)
end = datetime.datetime(2017,6,30)
# 從google獲取蘋果的股票數(shù)據(jù)
apple = web.DataReader("AAPL", "google", start, end)
上面的pandas_datareader模塊需要先安裝才能使用缭裆。用的是Google的數(shù)據(jù)源,在國內連接需要相應設置寿烟。
(2)數(shù)據(jù)觀察
除了直接顯示整個DataFrame對象外澈驼,還有head(), tail(),shape筛武, index缝其,columns,info()徘六,describe()等方法顯示相應的數(shù)據(jù)集合或數(shù)據(jù)統(tǒng)計信息内边。具體意義可以參考課件硕噩。
DataFrame.plot是pandas里DataFrame對象的繪圖方法假残。在jupyter notebook或IPython prompt模式下未執(zhí)行魔術關鍵字%matplotlib inline
前調用不會直接顯示圖像。除了魔術關鍵字外還有2種方法可以展現(xiàn)圖像,小密圈里有討論辉懒,我試過其中1種阳惹。
(3)數(shù)據(jù)框操作
索引和切片
下面列出了一些我覺得比較有趣的操作。
-
stock.loc['2017-06-01':'2017-06-05', 'Open':'Close']
返回
用loc返回特定行和列之間的數(shù)據(jù)集合 -
stock.loc['2017-06-01':'2017-06-05', ['Open', 'Close']]
返回
用loc返回特定行之間和指定2列的數(shù)據(jù)集合
過濾
&
和|
對應與和或操作符眶俩,如
stock[(stock.Close > stock.Open) & (stock.Volume > 3.5e7)]
stock[(stock.Close >= stock.High) | (stock.Volume > 5.5e7)]
生成新的列
stock['Close'].shift(1)
可以把指定的列下移一行莹汤,用這種方式生成的新數(shù)列可以與原數(shù)列相減來生成該列的相鄰元素之間的差值,即變化值颠印。
stock['Change'] = stock['Close'] - stock['Close'].shift(1)