Python金融数据处理之Pandas包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lvlinfeng970/article/details/81876785

参考资料:

https://uqer.datayes.com/v3/community/share/54ffd96ef9f06c276f651aac

https://uqer.datayes.com/v3/community/share/5514bb11f9f06c12790415b2

在Python的Pandas包中,有两种数据结构可以很方便地用于存储复杂的数据,为Series和Dataframe。

一、Series

首先先讲一下Series,Series是DataFrame的基础。Series可以认为是个具有索引(index)的一维数组,可以和编程中另一个常用的概念Hash(哈希)联系起来。

创建一个Series的基本格式为s = np.Series(data,index=index,name=name)。可以从创建最简单的Series开始:

import pandas as pd
import numpy as np
a = np.random.rand(5)
s = pd.Series(a)
print(s)

首先引入了pandas和numpy的包,可以从输出结果中看到,左边的引索默认是从0开始的,这里需要注意的是,如果需要加入制定index,指定index的长度要和data的长度一致。如果要查询引索,可以用s.index进行。

s = pd.Series(a,index = ['1','2','3','4','5'])
print(s)
print(s.index)

另一个可选项为name。也可以通过s.name来进行访问

s = pd.Series(a,index = ['a','b','c','d','e'],name = 'my_data')
print(s)
print(s.name)

同时,字典可以通过字典dict来进行创建

d = {'a':1,'b':2,"c":3}
s = pd.Series(d)
print(s)

在访问字典的时候,可以像数组一样使用0,1,2,3...n的下标,也可以像哈希一样使用a b c d e 的引索,也可以指定条件过滤。

s = pd.Series(np.random.rand(5),index = ['a','b','c','d','e'])
print(s[0:2])
print(s['a'])
print(s[s>0.5])

二、DataFrame

DataFrame的实质是由很多Series列组成的列表,可以很方便地处理不同数据类型的列。但如果遇到像如果是全部浮点数,求逆之类的,用矩阵会更加方便。

首先可以用键为列名,值为Series的字典来创建DataFrame。可以在创建DataFrame的时候可以用index指定需要的引索,用columns来指定需要列名,如果不存在此元素则会输出NaN

d = {'one' : pd.Series([1,2,3],index = ['a','b','c']), 'two' : pd.Series([2,3,4,5],index = ['a','b','c','d'])}
df = pd.DataFrame(d)
print(df)
df = pd.DataFrame(d,index=['e','f','g','h'],columns=['three','four'])
print(df)

猜你喜欢

转载自blog.csdn.net/lvlinfeng970/article/details/81876785