获取股票信息

首先要安装pandas_datareader,方法是pip install pandas_datareader
pandas_datareader是一个远程获取金融数据的Python工具,通过它可以方便获得下面公司和机构的数据:

Yahoo! Finance//雅虎金融

Google Finance//谷歌金融

Enigma//Enigma是一个公共数据搜索的提供商

St.Louis FED (FRED)//圣路易斯联邦储备银行

Kenneth French’s data library//肯尼斯弗兰奇资料库

World Bank//世界银行

OECD//经合组织

Eurostat//欧盟统计局

Thrift Savings Plan//美国联邦政府管理离退休的组织

Oanda currency historical rate //外汇经纪商

Nasdaq Trader symbol definitions //纳斯达克

#然后我们可以获取苹果公司的股票信息
import pandas_datareader as pdr

pdr.get_data_yahoo(‘AAPL’)

或者也可以用这种方法

import pandas as pd
import numpy as np
from pandas_datareader import data, wb 
import datetime
import matplotlib.pyplot as plt
import matplotlib

利用DataReader进行抓取

# 定义获取数据的时间段
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime(2019,12,15)
sh = data.DataReader("000001.SS", 'yahoo', start, end)
sh.head(5)

在这里插入图片描述

数据的的保存
sh.to_csv('sh.csv',header=None)

但是存储后的数据是这个样子的。在这里插入图片描述
所以在再次调用的时候要加上列名和行名。

names = ['Date','Open','High','Low','Close','Volume','Adj Close']
sh1 = pd.read_csv('sh.csv',names=names,index_col='Date')
sh1.head(5)

在这里插入图片描述

#但是这时sh1的列并非datetime序列,所以要转换一下
sh1.index=pd.to_datetime(sh1.index)
删除列
# drop Volume列
sh = sh.drop('Volume',axis=1)

在这里插入图片描述

检查缺失值

print(sh.info())

在这里插入图片描述
或者可以

sh.isnull().values.any() 
False

或者可以

sh.isnull().values.sum() 
0

假设数据样本集中有缺失值,我们可以赋值给缺失的地方

sh['High'].fillna(sh['High'].mean(),inplace=True) #fill in with mean
sh['Low'].fillna(method='ffill',inplace=True) #fill in with value from previous row
sh['Close'].fillna(method='bfill',inplace=True) # fill in with value from the row behind
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值