一、实验文档准备

1、安装 tushare

pip install tushare

2、启动ipython

C:\Users\Administrator>ipython
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

3、ts.get_k_data使用帮助

In [1]: import tushare as ts

In [2]: ts.get_k_data?
Signature: ts.get_k_data(code=None, start='', end='', ktype='D', autype='qfq', index=False, retry_count=3, pause=0.001)
Docstring:
获取k线数据
---------
Parameters:
code:string
股票代码 e.g. 600848
start:string
开始日期 format:YYYY-MM-DD 为空时取上市首日
end:string
结束日期 format:YYYY-MM-DD 为空时取最近一个交易日
autype:string
复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
ktype:string
数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count : int, 默认 3
如遇网络等问题重复执行的次数
pause : int, 默认 0
重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题
return
-------
DataFrame
date 交易日期 (index)
open 开盘价
high 最高价
close 收盘价
low 最低价
volume 成交量
amount 成交额
turnoverratio 换手率
code 股票代码
File: c:\programdata\anaconda3\lib\site-packages\tushare\stock\trading.py
Type: function

4、获取股票信息

In [3]: df = ts.get_k_data('601318','1999-01-01','2018-1-28')

In [4]: df
Out[4]:
date open close high low volume code
0 2007-03-01 21.254 19.890 21.666 19.469 1977633.51 601318
1 2007-03-02 19.979 19.728 20.166 19.503 425048.32 601318
2 2007-03-05 19.545 18.865 19.626 18.504 419196.74 601318
3 2007-03-06 18.704 19.235 19.554 18.597 297727.88 601318
4 2007-03-07 19.252 19.758 19.936 19.090 287463.78 601318
5 2007-03-08 19.596 19.520 19.694 19.418 130983.83 601318
... ... ... ... ... ... ... ...
2754 2018-09-27 67.730 67.200 67.750 66.860 623574.00 601318
2755 2018-09-28 67.500 68.500 69.100 67.440 739523.00 601318 [2756 rows x 7 columns]

5、把获取的数据下载到本地

In [5]: df.to_csv('601318.csv')

一、DataFrame索引和切片

DataFrame有行索引和列索引

DataFrame同样可以通过标签和位置两种方法进行索引和切片

1、DataFrame使用索引切片

向DataFrame队形中写入值时只是用方法2

行/列索引部分可以是常规索引、切片、布尔值索引、花式索引任意搭配(注意:两部分都是花式索引时结果可能与预料的不同)

二、DataFrame通用标签获取

1、通过标签获取

2、通过位置获取

3、通过布尔值获取

三、DataFrame查看数据

1、index 获取索引

df.index

2、T  置换

df3 = df2.T

3、columns  获取列索引

df.columns

4、values 获取值数组

df.values

5、describe()  获取快速统计

df.describe()

6、重命名表头

1、用法

2、修改所有的列

df = pd.read_csv('601318.csv',header=None,names=list('asdfghjk'))

3、从头开始修改两列

df = pd.read_csv('601318.csv',header=None)
df = df.rename(columns={0:'a',1:'b'})

 

四、pandas其他常用方法

1、mean(axis=0,skipna=False)

df2.mean()

df2.mean(skipna=True)

2、sum(axis=1)

3、sort_index(axis,...,ascending)按行或列索引排序

df2.sort_index(ascending=False)

4、sort_values(by,axis,ascending) 按值排序

df2.sort_values('close')

5、apply(func,axis=0)将自定义函数应用在各行或者各列上,func可返回标量或者Serise

df.apply(lambda x:x.mean(),axis=1)

df.apply(lambda x:x['high'] + x['low']/2,axis=1)

  

df.apply(lambda x:pd.Series([(x['high'] + x['low'])/2,(x['open'] +x['close'])/2],index=['h1_mean','oc_mean']),axis=1)

  

6、applymap(func) 将函数应用在DataFrame各个元素上

7、map(func)将函数应用在Series各个元素上

金融量化分析【day110】:Pandas-DataFrame索引和切片的更多相关文章

  1. day32 Python与金融量化分析(二)

    第一部分:金融与量化投资 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社 ...

  2. day31 堡垒机尾声 + Python与金融量化分析(一)

    堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...

  3. 金融量化分析【day110】:NumPy-切片和索引

    一.索引和切片 1.数组和标量之间的运算 2.同样大小的数组之间的运算 3.数组索引 4.数组切片 1.一维数组 2.多维数组 二.布尔索引 1.问题 给一个数组,选出数组中所有大于5的数 1.答案 ...

  4. 金融量化分析【day110】:金融基础知识

    一.股票 股票: 股票是股份公司发给出资人的一种凭证,股票的持有者就是股份公司的股东. 股票的面值与市值 面值表示票面金额 市值表示市场价值 上市/IPO: 企业通过证券交易所公开向社会增发股票以募集 ...

  5. 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  6. Python与金融量化分析----金融与量化投资

    一:金融了解 金融:就是对现有资源进行重新的整合之后,进行价值和利润的等效流通. 金融工具: 股票 期货 黄金 外汇 基金 ............. 股票: 股票是股份公司发给出资人多的一种凭证,股 ...

  7. 金融量化分析【day110】:Pandas的Series对象

    一.pandas简介安装 pandas是一个强大的python数据分析的工具包 pandsa是基于NumPy构建的 1.pandas的主要功能 1.具备对其功能的数据结构DataFrame.Serie ...

  8. 金融量化分析【day110】:Pandas-DataFrame读取与写入

    一.DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列 DataFrame可以被看作是有Series组成的字典并且工用一个索引 1.创建方式 pd.DataFrame({' ...

  9. 金融量化分析【day110】:IPython介绍及简单操作

    一. IPython介绍 ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能 ...

随机推荐

  1. 【原】Java学习笔记001 - JAVA开发环境搭建

    1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变 ...

  2. 简单用数组模拟顺序栈(c++)

    **栈是一种操作受限制的线性表,太多官方的话我也不说了,我们都知道栈元素是先进后出的,它有两种存储结构,分别是顺序存储结构和链式存储结构. **今天我先记一下顺序存储结构,后面我会加上链式存储结构的. ...

  3. Enterprise architect 类图加时序图

    原文地址:https://segmentfault.com/a/1190000005639047#articleHeader2 新建一个Project 没什么好说的,“文件-新建项目”,然后选择保存位 ...

  4. 数据库连接池性能比对(hikari druid c3p0 dbcp jdbc)

    https://blog.csdn.net/qq_31125793/article/details/51241943 背景 对现有的数据库连接池做调研对比,综合性能,可靠性,稳定性,扩展性等因素选出推 ...

  5. 【转】简单理解Vue中的nextTick

    前言: Vue中的nextTick涉及到Vue中DOM的异步更新,感觉很有意思,特意了解了一下.其中关于nextTick的源码涉及到不少知识,很多不太理解,暂且根据自己的一些感悟介绍下nextTick ...

  6. web框架开发-Django组件cookie与session

    http协议的每一次都是无保存状态的请求,这会带来很多的不方便,比如,一刷新网页,或者进入该网页的其他页面,无法保存之前的登录状态.为了解决类似这样的问题,引入了会话跟踪 会话跟踪技术 1 什么是会话 ...

  7. linux文件系統详解

    什么是文件系统 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在存储设备(磁盘)上组织文件的方法.操作系统中负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统. 从系统角 ...

  8. 初学python必备基础知识

    一,编程语言介绍 1.机器语言:直接用二进制编程,直接控制硬件,需要掌握硬件的操作细节 优点:执行效率高   缺点:   开发效率低 2.汇编语言:用英文标签取代二进制指令去编写程序,直接控制硬件,需 ...

  9. python小白——进阶之路——day1天---认识python和变量、注释

    ###-python的认知 89年开发的语言,创始人范罗苏姆(Guido van Rossum),别称:龟叔(Guido) (1)版本: python2.x原码不规范,重复较多 python3x:原码 ...

  10. Spring常用配置示例

    Spring 是一款Java平台的开源框架,是为解决企业级应用程序开发的复杂性而创建的,通过良好的分层架构让开发人员能够专注于业务逻辑的开发. Spring框架是一个分层架构,由不同的模块组成,构成s ...