一、实验文档准备

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. c/c++ linux epoll系列1 创建epoll

    linux epoll系列1 创建epoll 据说select和poll的弱点是,随着连接(socket)的增加,性能会直线下降. epoll不会随着连接(socket)的增加,性能直线下降. 知识点 ...

  2. 利用ZYNQ SOC快速打开算法验证通路(4)——AXI DMA使用解析及环路测试

    一.AXI DMA介绍 本篇博文讲述AXI DMA的一些使用总结,硬件IP子系统搭建与SDK C代码封装参考米联客ZYNQ教程.若想让ZYNQ的PS与PL两部分高速数据传输,需要利用PS的HP(高性能 ...

  3. Java操作Excel(使用POI)

    背景说明 以前写过使用 JXL 操作Excel的例子,但JXL对于Excel 2007版本以后的文件(即扩展名为 .xlsx)无法读取,也找不到可以支持的包.所以,有时不得不用 POI 来操作Exce ...

  4. django-debug-toolbar使用指南

    好久没发新博客,凑个数... django-debug-toolbar 介绍 django-debug-toolbar 是一组可配置的面板,可显示有关当前请求/响应的各种调试信息,并在单击时显示有关面 ...

  5. tomcat报异常Invalid character found in method name. HTTP method names must be tokens

    最近监控了一下测试环境的日志,突然出现如下一个异常 由Error parsing HTTP request header可以看出是由于解析请求头出错导致的,但是它属于DEBUG级别的异常,虽然不影响系 ...

  6. Scalability of Kafka Messaging using Consumer Groups

    May 10, 2018 By Suhita Goswami No Comments Categories: Data Ingestion Flume Kafka Use Case Tradition ...

  7. HTML5 canvas clearRect() 方法

    浏览器支持 Internet Explorer 9.Firefox.Opera.Chrome 以及 Safari 支持 clearRect() 方法. 注释:Internet Explorer 8 或 ...

  8. 解决OrangePi 耳机孔没有声音

    遇到过插入耳机后没有声音,解决步骤如下: 打开终端TERMINAL(LUBUNTU按CTRL+ALT+T,MATE选SYSTERM ADMINSTRATION-MATER TERMINAL),SSH登 ...

  9. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  10. (十一)Updating Documents

    In addition to being able to index and replace documents, we can also update documents. Note though ...