<返回更多

Python基础之pandas库

2022-07-24    刘聪明LCM
加入收藏

本系列内容所用Python/ target=_blank class=infotextkey>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属性赋值。

Python基础之pandas库

创建空的Series对象

同时指定values和index属性

Python基础之pandas库

 

没有index属性

Python基础之pandas库

 

对已创建的series对象添加新的元素

Python基础之pandas库

Series对象修改和添加元素

可以把series对象看成有序的字典,通过字典数据来创建

Python基础之pandas库

 

series对象的values属性取值由一维数组构成,用不同方法生成的一维数组都可以作为values属性的取值

Python基础之pandas库

 

总结:Series对象都是通过Series类的Series函数创建的,其中参数可以是单独的字典,或values属性参数为任何一维数组表达式

3.Series对象元素的提取与切片

通过方法提取元素

head()方法,提取对象前部分元素,参数可以选填,默认为前5条

tail()方法,提取后半部分元素,参数可以选填,默认为后5条

take()方法,指定索引值提取

Python基础之pandas库

 

利用位置或标签索引提取元素与切片

Series对象不仅可以通过位置索引提取元素,还可以通过标签索引提取元素,同时不仅可以使用位置索引数组提取元素,还可以使用标签索引数组提取元素

Python基础之pandas库

 

切片

Series对象也支持位置索引切片和标签索引切片,两者的区别是,位置索引切片不包括终止值元素,而标签索引切片包含终止标签元素

Python基础之pandas库

 

三、时间序列基础

时间序列分析在金融数据分析中占据重要的位置,pandas库也支持时间序列数据类型,时间序列类型是一种特殊的Series类型,与一般Series类型不同的是,时间序列的index属性为时间戳

1.创建时间序列

时间序列的创建方式与一般的Series对象创建方式相同,只不过其中的index属性为Timestampd对象

Timestamp对象由pandas库中的Timestamp()方法创建,Timestamp()方法的传入参数可以是字符串,也可以是datetime对象

Python基础之pandas库

 

不过由于Timestamp方法不接受可迭代对象作为参数输入,所以当我们创建时间序列时需要对每个元素单独操作一次Timestamp方法,这样就显得很麻烦,因此一般使用pandas库中的to_datetime方法将Series的index属性转换为DatetimeInedx

Python基础之pandas库

 

实际上,对于datetime对象,pandas会自动将其转换成Timestamp对象,所以我们可以直接将datetime对象列表作为时间序列的indx

Python基础之pandas库

 

2.时间序列提取元素

时间序列只是特殊的Series对象,一般的索引操作对其仍然有效

Python基础之pandas库

 

简化时间提取元素

Python基础之pandas库

 

3.滞后或超前操作

滞后操作是指将t期数据置换成t-i期数据,而超前操作是指将t期数据置换成t+i期数据,这在实际应用中很常见,在计算收益率的时候,我们可以简单的将数据滞后1期,然后用原来的数据减滞后过的数据,再除以滞后过的数据就得到了收益率

Python基础之pandas库

shift中参数正数为滞后,负数为超前

好了,今天的学习内容到这里也将告一段落了,明天我们再接再厉!

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>