【机器学习】Pandas库练习-获取yahoo金融苹果公司的股票数据
# 获取yahoo金融苹果公司的股票数据。
# 1、分析拉取的数据,找到收盘数据列的列名。
# 2、绘制收盘价格柱状图。
# 3、分析拉取的数据涨跌率,股价移动平均和波动率。
# 4、 找出开盘价和收盘价最高的那一天
# 5、 获取股票表格总共有多少行多少列
# 6、 对股票的每列按照月为单位求平均值
# 7、将股票表格按照adj close股价进行由高到低排序 # 练习提示:
# 1. 使用pandas_datareader读取苹果公司的2020年上半年的股票指数
# 2. 求股票的涨跌率return:当天的收盘指数/前一天的收盘指数的对数
# 3. 股价的移动平均值:#求移动平均值rolling(42).mean()
# 4. 股价的波动率:return(股票的涨跌率).rolling(42).std() 乘以窗口期的均方根
import datetime
import yfinance as yf #雅虎api
import pandas_datareader.data as web
import numpy as np
import pandas as pd
import cmath
import matplotlib.pyplot as plt #1
yf.pdr_override()
start = datetime.datetime(2020, 1, 2)#开始日期
end = datetime.datetime(2020, 7, 1)#结束日期
apple = web.get_data_yahoo('AAPL', start, end)
print(apple.columns.values)
#
# #2
# apple['Close'].plot(kind='bar')
# plt.show()
#
# # 3
# # 涨跌率
# apple['Return'] = np.log(apple['Close']/apple['Close'].shift(1))
# apple['Return'].plot(kind='bar')
# plt.show()
# #股价移动平均
# apple['42d']=apple['Close'].rolling(42).mean()
# apple['42d'].plot(kind='bar')
# plt.show()
# #波动率
# apple['Mov_Vol']=apple['Close'].rolling(42).std()*cmath.sqrt(42)
# apple['Mov_Vol'].plot(kind='bar')
# plt.show()
# # 4
# apple=apple.sort_values(by='Open')
# print("OpenMax:",apple.index[-1])
# apple=apple.sort_values(by='Close')
# print("CloseMax:",apple.index[-1])
# apple=apple.sort_values(by='Close')
# # 5
# print("行数:",len(apple.index))
# print("列数:",len(list(apple)))
# # 6
# apple['index'] = apple.index
# print(apple.groupby([apple['index'].dt.year, apple['index'].dt.month]).mean()['Close'])
# 7
print(apple.sort_values(by="Adj Close",ascending=False))
【机器学习】Pandas库练习-获取yahoo金融苹果公司的股票数据的更多相关文章
- 简单又强大的pandas爬虫 利用pandas库的read_html()方法爬取网页表格型数据
文章目录 一.简介 二.原理 三.爬取实战 实例1 实例2 一.简介 一般的爬虫套路无非是发送请求.获取响应.解析网页.提取数据.保存数据等步骤.构造请求主要用到requests库,定位提取数据用的比 ...
- 解决ImmediateDeprecationError 用Python获取Yahoo数据
最近正在看用 python 进行数据处理的内容,很多教程都会用 pandas 去抓取金融数据.我也尝试跑教程上的示例代码以抓取数据. 本文着重介绍遇到的问题以及解决方法. 注:我使用的是 Python ...
- Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结
pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...
- iOS11和机器学习CoreML库
随着iOS11的发布,苹果公司也正式加入了机器学习的战场.在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了. 在这个CoreML库里面,已经集成了一些训练好的模型,可 ...
- pandas库的学习笔记
Environment pandas 0.21.0 python 3.6 jupyter notebook 开始 习惯上,我们导入如下: import pandas as pd import nump ...
- Pandas库中的DataFrame
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
- 使用第三方库连接MySql数据库:PyMysql库和Pandas库
使用PyMysql库和Pandas库链接Mysql 1 系统环境 系统版本:Win10 64位 Mysql版本: 8.0.15 MySQL Community Server - GPL pymysql ...
- 【Python学习笔记】Pandas库之DataFrame
1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...
- Python之Pandas库常用函数大全(含注释)
前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...
随机推荐
- WebRTC视频分辨率设置
前面我们能够打开摄像头.getUserMedia()时会传入参数,在参数里我们可以指定宽高信息.通过宽高参数控制输出的视频分辨率. html 在页面上摆放一些元素,下面是主要部分 <div id ...
- 学习java 7.25
学习内容: 特殊边框 1. TitledBorder:它的作用并不是直接为其他组件添加边框,而是为其他边框设置标题,创建该类的对象时,需要传入一个其他的Border对象; 2. CompoundBor ...
- MapStruct对象转换
第一次看到 MapStruct 的时候, 我个人非常的开心.因为其跟我内心里面的想法不谋而合. 1 MapStruct 是什么? 1.1 JavaBean 的困扰 对于代码中 JavaBean之间的转 ...
- velocity示例
创建maven项目 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns ...
- linux 加密安全之AWK
密钥 密钥一般是一串字符串或数字,在加密或者解密时传递给加密或者解密算法,以使算法能够正确对明文加密或密文解密. 加密算法 已知的加密算法有对称和非对称加密,也就是说你想进行加解密操作的时候需要具备密 ...
- java中的++i是线程安全的吗?
java中的++i是线程安全的吗?为什么?怎么使它线程安全呢? 先说答案: 非线程安全 先说下为什么是非线程安全的? 从Java内存模型说起 Java内存模型规定了所有的便利都存储在主内存中,每个线程 ...
- 关于synchronize与lock的区别
参考文献:https://www.cnblogs.com/cloudblogs/p/6440160.html 一.synchronize修饰不同代码都是锁住了什么? 大家都知道synchronize可 ...
- 使用wesocket从 rabbitMQ获取实时数据
rabbitmq支持stomp组件,通过stomp组件和websocket可以从rabbitMQ获取实时数据.这里分享一个demo: 使用时需要引入的js ,用到了sock.js和stomp.js & ...
- array_filter()用法
第一种情况: 通过函数,过滤数组中的元素 array_filter($arr,'函数名称') 函数里可以写相应的过滤原则,下面举个栗子,过滤掉不是数字的元素 $arr=array('a','b','c ...
- Three.js 实现3D全景侦探小游戏🕵️
背景 你是嘿嘿嘿侦探社实习侦探️,接到上级指派任务,到甄开心小镇调查市民甄不戳宝石失窃案,根据线人流浪汉老石提供的线索,小偷就躲在小镇,快把他找出来,帮甄不戳寻回失窃的宝石吧! 本文使用 Three ...