本系列內容所用Python版本為anaconda,直接瀏覽器搜索下載安裝即可!
今天的內容我們來簡單了解一下Python的pandas第三方庫,他和numpy庫一樣,也是在科學計算方面提供了很多數據結構和方法,非常強大好用。
一、pandas庫
pandas庫主要由兩種基礎數據結構:Series和DataFrame,以及操作這兩種數據結構的方法構成。其中Series是一維數據結構,而DataFrame是二維數據結構,要說他們和ndarray數據對象的區別,那大概就是他們都具有數據標簽這一屬性,而ndarray對象沒有。
二、Series對象
1.Series數據類型由一列數據及與之對應的標簽兩部分組成,series對象本質是numpy數組,因此numpy函數同樣適用于series對象。每個series對象實際由兩個數組組成,具有index和values兩大屬性。
2.Series對象的創建
index:是從numpy數組繼承的index對象
values:保存值,是一維的numpy對象
Series對象的創建是通過Series類的構造函數Series函數來實現的,創建Series對象時可以同時為index和values屬性賦值。

創建空的Series對象
同時指定values和index屬性

沒有index屬性

對已創建的series對象添加新的元素

Series對象修改和添加元素
可以把series對象看成有序的字典,通過字典數據來創建

series對象的values屬性取值由一維數組構成,用不同方法生成的一維數組都可以作為values屬性的取值

總結:Series對象都是通過Series類的Series函數創建的,其中參數可以是單獨的字典,或values屬性參數為任何一維數組表達式
3.Series對象元素的提取與切片
通過方法提取元素
head()方法,提取對象前部分元素,參數可以選填,默認為前5條
tail()方法,提取后半部分元素,參數可以選填,默認為后5條
take()方法,指定索引值提取

利用位置或標簽索引提取元素與切片
Series對象不僅可以通過位置索引提取元素,還可以通過標簽索引提取元素,同時不僅可以使用位置索引數組提取元素,還可以使用標簽索引數組提取元素

切片
Series對象也支持位置索引切片和標簽索引切片,兩者的區別是,位置索引切片不包括終止值元素,而標簽索引切片包含終止標簽元素

三、時間序列基礎
時間序列分析在金融數據分析中占據重要的位置,pandas庫也支持時間序列數據類型,時間序列類型是一種特殊的Series類型,與一般Series類型不同的是,時間序列的index屬性為時間戳
1.創建時間序列
時間序列的創建方式與一般的Series對象創建方式相同,只不過其中的index屬性為Timestampd對象
Timestamp對象由pandas庫中的Timestamp()方法創建,Timestamp()方法的傳入參數可以是字符串,也可以是datetime對象

不過由于Timestamp方法不接受可迭代對象作為參數輸入,所以當我們創建時間序列時需要對每個元素單獨操作一次Timestamp方法,這樣就顯得很麻煩,因此一般使用pandas庫中的to_datetime方法將Series的index屬性轉換為DatetimeInedx

實際上,對于datetime對象,pandas會自動將其轉換成Timestamp對象,所以我們可以直接將datetime對象列表作為時間序列的indx

2.時間序列提取元素
時間序列只是特殊的Series對象,一般的索引操作對其仍然有效

簡化時間提取元素

3.滯后或超前操作
滯后操作是指將t期數據置換成t-i期數據,而超前操作是指將t期數據置換成t+i期數據,這在實際應用中很常見,在計算收益率的時候,我們可以簡單的將數據滯后1期,然后用原來的數據減滯后過的數據,再除以滯后過的數據就得到了收益率

shift中參數正數為滯后,負數為超前
好了,今天的學習內容到這里也將告一段落了,明天我們再接再厲!
END
logo設計網(www.just4love.cn),專業的logo免費設計在線生成網站,全自動智能化logo設計,商標設計,logo在線生成!
歡迎使用logo設計網制作屬于您公司自己的logo,不僅專業而且經濟實惠,全方位滿足您公司品牌化、視覺化的需求。