基于想同時學習金融和pandas的初衷,代碼實例會使用到tushare
話題部分源于Data analysis in Python with pandas, 權當是學習筆記吧
import pandas as pd
import tushare as ts
loc
用標簽(index 范圍, column 范圍)來選取數據
price = ts.get_hist_data('000063')
price.head(10)
image.png
當我只需要取 8月15日到8月21日之間的數據
price.loc['2017-08-21':'2017-08-15', :]
image.png
當我只需要取 8月15日到8月21日之間的數據, 并且只要開盤、最高、收盤、最低價
price.loc['2017-08-21':'2017-08-15', 'open':'low']
image.png
iloc
用位置(index 范圍, column 范圍)來選取數據, i 代表的是 integer,整數,位置
當我只需要取 8月15日(第八行)到8月21日(第四行)之間的數據, 并且只要開盤、最高、收盤、最低價(前4列)
price.iloc[4:8, 0:3]
image.png
好像不太對?因為4:8 0:3 并不包含第8行以及第4列,iloc的參數和python列表切片以及range方法是一樣的,取值的時候不包含右邊的參數!
price.iloc[4:9, 0:4]
image.png
如果 dataFrame的index本身就是integer呢?
price.reset_index(inplace=True)
price.head()
image.png
price.loc[4:8, 'date':'low']
image.png
[4:8] 第八行顯然是包括進去的,這是loc 和 iloc遇到整型標簽的時候需要注意的地方。
ix
是loc 和 iloc的混合物,當標簽為整型的時候,使用loc方法,否則使用iloc
price.ix[4:8, 0:4]
image.png
話說Juypter的md文件不能直接貼到簡書里啊,心累