# 获取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金融苹果公司的股票数据的更多相关文章

  1. 简单又强大的pandas爬虫 利用pandas库的read_html()方法爬取网页表格型数据

    文章目录 一.简介 二.原理 三.爬取实战 实例1 实例2 一.简介 一般的爬虫套路无非是发送请求.获取响应.解析网页.提取数据.保存数据等步骤.构造请求主要用到requests库,定位提取数据用的比 ...

  2. 解决ImmediateDeprecationError 用Python获取Yahoo数据

    最近正在看用 python 进行数据处理的内容,很多教程都会用 pandas 去抓取金融数据.我也尝试跑教程上的示例代码以抓取数据. 本文着重介绍遇到的问题以及解决方法. 注:我使用的是 Python ...

  3. Python的工具包[1] -> pandas数据预处理 -> pandas 库及使用总结

    pandas数据预处理 / pandas data pre-processing 目录 关于 pandas pandas 库 pandas 基本操作 pandas 计算 pandas 的 Series ...

  4. iOS11和机器学习CoreML库

    随着iOS11的发布,苹果公司也正式加入了机器学习的战场.在新的iOS11中内置了CoreML,虽然还是Beta版本,但是功能已经非常强大了. 在这个CoreML库里面,已经集成了一些训练好的模型,可 ...

  5. pandas库的学习笔记

    Environment pandas 0.21.0 python 3.6 jupyter notebook 开始 习惯上,我们导入如下: import pandas as pd import nump ...

  6. Pandas库中的DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  7. 使用第三方库连接MySql数据库:PyMysql库和Pandas库

    使用PyMysql库和Pandas库链接Mysql 1 系统环境 系统版本:Win10 64位 Mysql版本: 8.0.15 MySQL Community Server - GPL pymysql ...

  8. 【Python学习笔记】Pandas库之DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  9. Python之Pandas库常用函数大全(含注释)

    前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...

随机推荐

  1. Linux驱动实践:如何编写【 GPIO 】设备的驱动程序?

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...

  2. 零基础学习java------30---------wordCount案例(涉及到第三种多线程callable)

    知识补充:多线程的第三种方式 来源:http://www.threadworld.cn/archives/39.html 创建线程的两种方式,一种是直接继承Thread,另外一种就是实现Runnabl ...

  3. 转 Android Lifecycle、ViewModel和LiveData

    转自:https://www.jianshu.com/p/982545e01d0a 1.概述 在I / O '17的时候,其中一个重要的主题是Architecture Components.这是一个官 ...

  4. 小程序中使用less(最优方式)

    写惯了less/sass,但是现在开发小程序缺还是css,很不习惯. 在网上搜的教程,要么是gulp,要么就是vscode的Easy-less的插件. 传统方式 我们来对比,这两种方式的优劣. Gul ...

  5. Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)

    洗牌问题:洗一副扑克,有什么好办法?既能洗得均匀,又能洗得快?即相对于一个文件来说怎样高效率的实现乱序排列? ChinaUnix 确实是 Shell 高手云集的地方,只要你想得到的问题,到那里基本上都 ...

  6. 【Service】【Database】【MySQL】基础

    1. 概念 1.1. 作者:Unireg 1.2. MySQL AB --> MySQL Solaris:二进制版本: 1.3. 官方网站: MySQL: www.mysql.com Maria ...

  7. vueAPI (data,props,methods,watch,computed,template,render)

    data Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化.实例创建之后,可以通过vm.$data来访问原始数据 ...

  8. 重新整理 .net core 实践篇——— UseEndpoints中间件[四十八]

    前言 前文已经提及到了endponint 是怎么匹配到的,也就是说在UseRouting 之后的中间件都能获取到endpoint了,如果能够匹配到的话,那么UseEndpoints又做了什么呢?它是如 ...

  9. 帮助IT业告别内卷,哪项变革最能被寄予厚望?

    近日,中国软件行业协会发布<2021年中国低代码/无代码市场研究报告>,其中提到:我国低代码整体市场规模已达数十亿规模,并将在未来五年保持49.5%的复合增长率.低代码成为整个中国ICT产 ...

  10. 网络访问控制列表ACL(读懂这篇就基本够了,后面有配置案例)

    一.访问控制列表是什么? 访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃.访问控制列表被广泛地应用于路由器和三层交换机,借助于访问 ...