优矿 python_【优矿uqer.io】量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】...
Python数据处理的瑞士军刀:pandas
####第一篇:基本数据结构介绍
####一、Pandas介绍
终于写到了作者最想介绍,同时也是Python在数据处理方面功能最为强大的扩展模块了。在处理实际的金融数据时,一个条数据通常包含了多种类型的数据,例如,股票的代码是字符串,收盘价是浮点型,而成交量是整型等。在C++中可以实现为一个给定结构体作为单元的容器,如向量(vector,C++中的特定数据结构)。在Python中,pandas包含了高级的数据结构Series和DataFrame,使得在Python中处理数据变得非常方便、快速和简单。
pandas不同的版本之间存在一些不兼容性,为此,我们需要清楚使用的是哪一个版本的pandas。现在我们就查看一下量化实验室的pandas版本:
1
import pandas as pd
2
pd.__version__
'0.14.1'
pandas主要的两个数据结构是Series和DataFrame,随后两节将介绍如何由其他类型的数据结构得到这两种数据结构,或者自行创建这两种数据结构,我们先导入它们以及相关模块:
1
import numpy as np
2
from pandas import Series, DataFrame
####二、Pandas数据结构:Series
从一般意义上来讲,Series可以简单地被认为是一维的数组。Series和一维数组最主要的区别在于Series类型具有索引(index),可以和另一个编程中常见的数据结构哈希(Hash)联系起来。
#####2.1 创建Series
创建一个Series的基本格式是s = Series(data, index=index, name=name),以下给出几个创建Series的例子。首先我们从数组创建Series:
1
a = np.random.randn(5)
2
print "a is an array:"
3
print a
4
s = Series(a)
5
print "s is a Series:"
6
print s
a is an array:
[-1.24962807 -0.85316907 0.13032511 -0.19088881 0.40475505]s is a Series:0 -1.2496281 -0.8531692 0.1303253 -0.1908894 0.404755dtype: float64
可以在创建Series时添加index,并可使用Series.index查看具体的index。需要注意的一点是,当从数组创建Series时,若指定index,那么index长度要和data的长度一致:
1
s = Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'])
2
print s
3
s.index
a 0.509906b -0.764549c 0.919338d -0.084712e 1.896407dtype: float64
Index([u'a', u'b', u'c', u'd', u'e'], dtype='object')
创建Series的另一个可选项是name,可指定Series的名称,可用Series.name访问。在随后的DataFrame中,每一列的列名在该列被单独取出来时就成了Series的名称:
1
s = Series(np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'], name='my_series')
2
print s
3
print s.name
a -1.898245b 0.172835c 0.779262d 0.289468e -0.947995Name: my_series, dtype: float64
my_series
优矿 python_【优矿uqer.io】量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】...相关推荐
- 量化分析师的Python日记 系列
量化分析师的Python日记 系列 转发,原作者 薛昆Kelvin 为方便学习,整理一下学习材料.持续更新. [第1天:谁来给我讲讲Python?] https://uqer.io/community ...
- 量化分析师的Python日记-CSDN公开课-专题视频课程
量化分析师的Python日记-7882人已学习 课程介绍 以完全初学者的角度入手来认识Python这个在量化领域日益重要的语言. 课程收益 课程先从介绍Python本身一些基本 ...
- 量化分析师的Python日记【Q Quant兵器谱之偏微分方程2】
这是量化分析师的偏微分方程系列的第二篇,在这一篇中我们将解决上一篇显式格式留下的稳定性问题.本篇将引入隐式差分算法,读者可以学到: 隐式差分格式描述 三对角矩阵求解 如何使用scipy加速算法实现 在 ...
- 量化分析师的Python日记【第2天:再接着介绍一下Python呗】
###"谁来给我讲讲Python?" 上篇(链接附在文末)学习了Python的基本操作,以及几种主要的容器类型,今天学习python的函数.循环和条件.类,这样才算对Python有 ...
- 量化分析师的Python日记【Q Quant兵器谱之二叉树】
通过之前几天的学习,Q Quant们应该已经熟悉了Python的基本语法,也了解了Python中常用数值库的算法.到这里为止,小Q们也许早就对之前简单的例子不满意,希望能在Python里面玩票大的!O ...
- 量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇】
接下来要给大家介绍的系列中包含了Python在量化金融中运用最广泛的几个Library: numpy scipy pandas matplotlib 会给初学者一一介绍 NumPy 简介 一.NumP ...
- python量化分析系列(第一篇)_量化分析师的 Python 日记 [第 1 天:谁来给我讲讲 Python?]...
45 条回复 • 2016-05-25 11:10:23 +08:00 1 2015-04-08 21:42:42 +08:00 这里竟然有Quant 2 2015-04-08 22:49:51 +0 ...
- 量化分析师的Python日记【第4天:一大波金融Library来袭之scipy篇】
####一.SciPy概述 前篇已经大致介绍了NumPy,接下来让我们看看SciPy能做些什么.NumPy替我们搞定了向量和矩阵的相关操作,基本上算是一个高级的科学计算器.SciPy基于NumPy提供 ...
- 量化分析师的python日记_量化分析师的Python日记【第1天:谁来给我讲讲Python?】...
"谁来给我讲讲Python?" 作为无基础的初学者,只想先大概了解一下Python,随便编个小程序,并能看懂一般的程序,那些什么JAVA啊.C啊.继承啊.异常啊通通不懂怎么办,于是 ...
- 量化分析师的Python日记【第1天:谁来给我讲讲Python?】
作为无基础的初学者,只想先大概了解一下Python,随便编个小程序,并能看懂一般的程序,那些什么JAVA啊.C啊.继承啊.异常啊通通不懂怎么办,于是我找了很多资料,写成下面这篇日记,希望以完全初学者的 ...
最新文章
- 德州职业技术学院计算机系,德州职业技术学院计算机系元旦晚会相声视频
- Error Handling in ASP.NET Core
- git 命令 clone分支的代码
- 某一年某一年_过去一年里有关开放式组织的5个最受欢迎的故事
- PHP编写增功能思路,php ztree如何实现增 删 改
- vmware虚拟机磁盘挂载
- 假设linux分配给u盘设备名是,嵌入式linux开发基础试卷-应用物理A答案
- Windows 2008 限制IP连接方法
- 在Python中从头开始模拟退火
- Web API 方法的返回类型、格式器、过滤器
- POI导出Excel换行
- 管理Linux软件包和进程
- matlab基于瑞利信道,基于matlab的瑞利信道仿真.docx
- Python实现离线字典+听写单词(一):获取离线字典
- 网闸可以设置端口映射吗_路由器的外部端口和内部端口映射如何设置?
- 汇编语言必看书籍推荐
- 1548 A Simple Problem with Integers
- 基于JAVA响应式交友网站计算机毕业设计源码+数据库+lw文档+系统+部署
- 【Unity Shader】学习顶点/片元着色器
- 如何学习C4D?非常详细的C4D学习攻略!按照这个步骤你一定成为影视后期大神